import Vue from 'vue'
import Vuetify, {
  VForm, VTextField, VCol, VRow, VCardTitle, VSimpleTable, VDivider,
  VListItemContent, VListGroup, VBtnToggle, VStepperItems, VTextarea,
  VContainer, VTabs, VTab, VTabsItems, VTabItem, VPagination,
  VStepper, VStepperHeader, VStepperStep, VListItemGroup, VStepperContent,
  VCard, VCardText, VList, VListItem, VBtn, VAppBar, VToolbarTitle,
  VChip, VDataTable, VListItemTitle, VListItemIcon, VListItemAvatar,
  VApp, VSpacer, VMain, VNavigationDrawer, VDataIterator, VSelect,
  VDialog, VCardActions, VMenu, VIcon, VToolbarItems, VImg, VTooltip,
  VAlert, VToolbar, VSnackbar, VExpansionPanels, VExpansionPanel,
  VExpansionPanelContent, VExpansionPanelHeader, VSlideXReverseTransition,
  VAvatar, VDatePicker, VSwitch, VFileInput, ClickOutside, VAutocomplete, VTreeview, VCombobox, VSimpleCheckbox, VCheckbox, VProgressLinear, VBreadcrumbs, VBreadcrumbsItem,VSubheader
} from 'vuetify/lib'
import '@mdi/font/css/materialdesignicons.min.css'
import 'typeface-roboto/index.css'
import zhHans from 'vuetify/lib/locale/zh-Hans'
import en from 'vuetify/lib/locale/en'
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)

const messages = {
  en: {
    $vuetify: {
      ...en,
      lang_menu_login: 'Login',
      lang_menu_confirm: 'OK',
      lang_menu_cancel: 'Cancel',
      lang_menu_open: 'Open',
      lang_menu_copy: 'Copy',
      lang_menu_close: 'Close',
      lang_menu_download: 'Download',
      lang_menu_cicd: 'CI/CD',
      lang_menu_metrics: 'Metrics',
      lang_menu_project_console: 'Project console',
      lang_menu_admin_console: 'Admin console',
      lang_menu_announcements: 'Announcements',
      lang_menu_access_token: 'Access token',
      lang_menu_change_password: 'Change password',
      lang_menu_edit_profile: 'Edit profile',
      lang_menu_logout: 'Logout',
      lang_menu_runs: 'Runs',
      lang_menu_runs_fixed: 'Runs fixed',
      lang_menu_runs_queue: 'Run queues',
      lang_menu_commits: 'Commits',
      lang_menu_steps: 'Steps',
      lang_menu_steps_branches: 'Latest branch steps ({0})',
      lang_menu_steps_envs: 'Latest environment steps ({0})',
      lang_menu_notifications: 'Notifications',
      lang_menu_metrics_runs: 'Runs',
      lang_menu_metrics_steps: 'Steps',
      lang_menu_metrics_builds: 'Builds',
      lang_menu_metrics_scan_codes: 'Scan codes',
      lang_menu_metrics_scan_images: 'Scan images',
      lang_menu_metrics_packages: 'Package images',
      lang_menu_metrics_artifacts: 'Artifacts',
      lang_menu_metrics_deploy_containers: 'Deploy containers',
      lang_menu_metrics_deploy_artifacts: 'Deploy artifacts',
      lang_menu_metrics_check_deploys: 'Check containers',
      lang_menu_metrics_check_quota: 'Check quotas',
      lang_menu_metrics_auto_tests: 'Auto testings',
      lang_menu_metrics_custom_steps: 'Custom steps',
      lang_menu_metrics_commits: 'Commits',
      lang_menu_metrics_audit_logs: 'Audit logs',
      lang_menu_projects_management: 'Projects management',
      lang_menu_users_management: 'Users management',
      lang_menu_envs_management: 'Environments management',
      lang_menu_tenants_management: 'Tenants Management',
      lang_menu_docker_build_envs_management: 'Build environment management',
      lang_menu_repo_configs_management: 'Repositories management',
      lang_menu_custom_steps_management: 'Custom steps management',
      lang_menu_component_templates_management: 'Component templates mgt',
      lang_menu_admin_webhook_settings: 'Admin webhook settings',
      lang_menu_admin_webhook: 'Admin webhook',
      lang_menu_admin_webhook_logs: 'Admin webhook trigger logs',
      lang_menu_runs_queues_management: 'Run queues',
      lang_menu_audit_logs_management: 'Audit logs management',
      lang_menu_applies_management: 'Applies management',
      lang_menu_mail_send_logs_management: 'Mail send logs management',
      lang_menu_mail_send_logs: 'Mail send logs',
      lang_menu_notifications_management: 'Notifications',
      lang_menu_webhook_logs_management: 'Webhooks trigger records',
      lang_menu_mail_logs_management: 'Mails trigger records',
      lang_menu_system_config: 'System config',
      lang_menu_git_repo: 'Git repository',
      lang_menu_image_repo: 'Image repository',
      lang_menu_artifact_repo: 'Artifact repository',
      lang_menu_scan_code_repo: 'Scan code repository',
      lang_menu_project_def: 'Project def',
      lang_menu_pipeline_def: 'Pipeline def',
      lang_menu_build_def: 'Build def',
      lang_menu_package_def: 'Package def',
      lang_menu_artifact_def: 'Artifact def',
      lang_menu_docker_ignore_def: 'Docker ignore',
      lang_menu_custom_step_def: 'Custom step def',
      lang_menu_env_custom_step_def: 'Env custom step def',
      lang_menu_ops_def: 'OPS action def',
      lang_menu_ops_batch_def: 'OPS batch def',
      lang_menu_deploy_container_def: 'Deploy container def',
      lang_menu_deploy_artifact_def: 'Deploy artifact def',
      lang_menu_istio_def: 'Istio def',
      lang_menu_istio_gateway_def: 'Istio gateway def',
      lang_menu_execute: 'Execute',
      lang_menu_execute_batch: 'Execute batch',
      lang_menu_view_logs: 'View logs',
      lang_menu_abort_run: 'Abort',
      lang_menu_redo_run: 'Rerun',
      lang_menu_module_hide: 'Hide module',
      lang_menu_module_show: 'Show module',
      lang_menu_view_run_def: 'View run def',
      lang_menu_view_detail: 'View detail',
      lang_menu_select_options: 'Operations',
      lang_menu_apply_new_user: 'Apply create user',
      lang_menu_apply_other: 'Apply others',
      lang_menu_apply_new_project_node_ports: 'Apply new node ports range',
      lang_menu_apply_delete_project_node_ports: 'Apply remove node ports range',
      lang_menu_apply_new_project_envs: 'Apply assign new project envs',
      lang_menu_apply_delete_project_envs: 'Apply remove project env',
      lang_menu_apply_delete_project_envs_all: 'Apply remove env and delete namespace',
      lang_menu_apply_update_project: 'Apply update project info',
      lang_menu_apply_delete_project: 'Apply delete project',
      lang_menu_refresh_all_token: 'Refresh all tokens',
      lang_menu_re_apply_kubernetes: 'Re-Apply all envs resources',
      lang_menu_assign_permissions: 'Assign permission',
      lang_menu_change_permissions: 'Change permission',
      lang_menu_delete_permissions: 'Delete permission',
      lang_menu_new_pipeline: 'Create pipeline',
      lang_menu_delete_pipeline: 'Delete pipeline',
      lang_menu_assign_pipeline_envs: 'Assign pipeline env',
      lang_menu_refresh_pipeline_token: 'Refresh pipeline token',
      lang_menu_copy_pipeline_token_url: 'Copy pipeline trigger URL',
      lang_menu_add_pipeline_crontab: 'Create pipeline crontab',
      lang_menu_delete_pipeline_crontab: 'Delete pipeline crontab',
      lang_menu_add_pipeline_trigger: 'Create pipeline triggers',
      lang_menu_update_pipeline_trigger: 'Update pipeline triggers',
      lang_menu_delete_pipeline_trigger: 'Delete pipeline trigger',
      lang_menu_update_admin_webhook: 'Update admin webhook',
      lang_menu_delete_admin_webhook: 'Delete admin webhook',
      lang_menu_apply_update_resource_quota: 'Apply update resource quota',
      lang_menu_apply_assign_pv: 'Apply assign PV',
      lang_menu_apply_remove_pv: 'Apply remove PV',
      lang_menu_new_network_policy: 'Add network policy',
      lang_menu_network_policy_dashboard: 'Network policy dashboard',
      lang_menu_delete_network_policy: 'Delete network policy',
      lang_menu_new_host: 'Create host',
      lang_menu_update_host: 'Update host',
      lang_menu_add_host_to_other_project: 'Join host to other project',
      lang_menu_remove_host_from_env: 'Remove host from env',
      lang_menu_delete_host: 'Delete host completely',
      lang_menu_new_database: 'Create database',
      lang_menu_update_database: 'Update database',
      lang_menu_add_database_to_other_project: 'Join database to other project',
      lang_menu_remove_database_from_env: 'Remove database from env',
      lang_menu_delete_database: 'Delete database completely',
      lang_menu_new_debug_component: 'Create debug components',
      lang_menu_update_debug_component: 'Update debug components',
      lang_menu_delete_debug_component: 'Delete debug components',
      lang_menu_new_component: 'Create component',
      lang_menu_update_component: 'Update component',
      lang_menu_delete_component: 'Delete component',
      lang_menu_apply_comment: 'Comment',
      lang_menu_apply_accept: 'Accept',
      lang_menu_apply_return: 'Return',
      lang_menu_apply_modify: 'Modify',
      lang_menu_apply_close: 'Close',
      lang_menu_apply_reply: 'Reply',
      lang_menu_apply_apply: 'Apply',
      lang_menu_apply_execute: 'Execute apply',
      lang_menu_new_announcement: 'Create announcement',
      lang_menu_delete_announcement: 'Delete announcement',
      lang_menu_set_read: 'Set read',
      lang_menu_new_project: 'Create new project',
      lang_menu_new_project_node_ports: 'Assign new node ports range',
      lang_menu_new_project_envs: 'Assign new project envs',
      lang_menu_update_project: 'Update project info',
      lang_menu_delete_project: 'Delete project',
      lang_menu_update_resource_quota: 'Update resource quota',
      lang_menu_assign_pv: 'Assign PV',
      lang_menu_remove_pv: 'Remove PV',
      lang_menu_new_user: 'Create new user',
      lang_menu_delete_user: 'Delete user',
      lang_menu_update_user_tenant_admins: 'Set user as projects tenant admin',
      lang_menu_new_env: 'Create new env',
      lang_menu_update_env: 'Update env',
      lang_menu_delete_env: 'Delete env',
      lang_menu_new_pv: 'Create new PV',
      lang_menu_delete_pv: 'Delete PV',
      lang_menu_new_tenant: 'New tenant',
      lang_menu_update_tenant: 'Modify tenant',
      lang_menu_delete_tenant: 'Delete tenant',
      lang_menu_new_docker_build_env: 'New build environment',
      lang_menu_update_docker_build_env: 'Modify the build environment',
      lang_menu_delete_docker_build_env: 'Delete build environment',
      lang_menu_new_git_repo_config: 'New code repository',
      lang_menu_update_git_repo_config: 'Modify code repository',
      lang_menu_delete_git_repo_config: 'Delete code repository',
      lang_menu_new_image_repo_config: 'New Image Repo',
      lang_menu_update_image_repo_config: 'Modify image registry',
      lang_menu_delete_image_repo_config: 'Delete image repository',
      lang_menu_new_artifact_repo_config: 'Add dependency and artifact repository',
      lang_menu_update_artifact_repo_config: 'Modify dependencies and artifact repositories',
      lang_menu_delete_artifact_repo_config: 'Delete dependencies and artifact repositories',
      lang_menu_new_scan_code_repo_config: 'New code scan repository',
      lang_menu_update_scan_code_repo_config: 'Modify code scan repository',
      lang_menu_delete_scan_code_repo_config: 'Delete code scan repository',
      lang_menu_new_custom_step: 'Create new custom step',
      lang_menu_update_custom_step: 'Update custom step',
      lang_menu_delete_custom_step: 'Delete custom step',
      lang_menu_new_component_template: 'Create component template',
      lang_menu_update_component_template: 'Update component template',
      lang_menu_delete_component_template: 'Delete component template',
      lang_menu_add_admin_webhook: 'Create admin webhook',
      lang_menu_update_admin_webhook: 'Update admin webhook',
      lang_menu_delete_admin_webhook: 'Delete admin webhook',
      lang_menu_run_queue_top: 'Queue to top',
      lang_menu_reload_system_config: 'Reload',
      lang_menu_new_access_token: 'Create access token',
      lang_menu_revoke_access_token: 'Revoke access token',
      lang_menu_def_history_version: 'History version',
      lang_menu_def_history_roll_back: 'History rollback',
      lang_menu_pipeline_variables_desc: 'Pipeline variables',
      lang_menu_update_def_comment: 'Comment for modifying project definition',
      lang_menu_def_new_item: 'Add new item',
      lang_menu_def_view_yaml: 'View YAML',
      lang_menu_def_view_deployment_yaml: 'View deployment YAML',
      lang_menu_def_confirm_change: 'Update',
      lang_menu_def_copy_to_envs: 'Copy to other envs',
      lang_menu_def_copy_to_branches: 'Copy def to other branches',
      lang_menu_cron_copy_to_branches: 'Copy cron to other branches',
      lang_menu_trigger_copy_to_branches: 'Copy trigger to other branches',
      lang_menu_delete: 'Delete',
      lang_menu_search: 'Search',
      lang_view_cicd: 'CI/CD',
      lang_view_operations: 'Operations',
      lang_view_project_name: 'Project name',
      lang_view_project_team: 'Project team',
      lang_view_project_arch: 'Project arch',
      lang_view_project_namespace: 'Project namespace',
      lang_view_project_repo: 'Project repos',
      lang_view_account: 'Account',
      lang_view_project_available_envs: 'Available envs',
      lang_view_project_privileged: 'Privileged mode',
      lang_view_pipelines_list: 'Pipelines',
      lang_view_pipeline_name: 'Pipeline name',
      lang_view_pipeline_type: 'Pipeline type',
      lang_view_branch_name: 'Branch name',
      lang_view_ci_envs: 'Testing envs',
      lang_view_production_envs: 'Production envs',
      lang_view_success_fail_abort_count: 'Success/Fail/Abort',
      lang_view_succes_count: 'Success',
      lang_view_fail_count: 'Fail',
      lang_view_abort_count: 'Abort',
      lang_view_latest_run_time: 'Latest run time',
      lang_view_latest_run_result: 'Latest run result',
      lang_view_project_detail: 'Project detail',
      lang_view_project_info: 'Project info',
      lang_view_project_token: 'Project tokens',
      lang_view_project_image_repo_password: 'Image repo password',
      lang_view_project_artifact_repo_password: 'Artifact repo password',
      lang_view_project_scan_code_repo_password: 'Scan code repo password',
      lang_view_project_scan_code_repo_token: 'Scan code repo token',
      lang_view_project_kubernetes_token: 'Kubernetes env token',
      lang_view_project_artifact: 'Project artifact',
      lang_view_project_artifact_attribute: 'Attribute',
      lang_view_project_artifact_value: 'Value',
      lang_view_project_artifact_path: 'Path',
      lang_view_project_artifact_name: 'File name',
      lang_view_project_artifact_size: 'Artifact size',
      lang_view_project_artifact_create_step: 'Create step',
      lang_view_project_artifact_file_type: 'File type',
      lang_view_project_artifact_md5_checksum: 'MD5 checksum',
      lang_view_project_artifact_sha1_checksum: 'SHA1 checksum',
      lang_view_update_time: 'Update time',
      lang_view_runs_list: 'Runs',
      lang_view_run_name: 'Run name',
      lang_view_project_pipeline_name: 'Project/pipeline name',
      lang_view_tag_name: 'Tag',
      lang_view_git_tags: 'Git repo tags',
      lang_view_git_refs: 'Git repo refs',
      lang_view_trigger_kind: 'Trigger kind',
      lang_view_start_user: 'Start user',
      lang_view_step_stats: 'Step resource usage',
      lang_view_abort_user: 'Abort user',
      lang_view_start_time: 'Start time',
      lang_view_end_time: 'End time',
      lang_view_duration: 'Duration',
      lang_view_run_result: 'Run result',
      lang_view_project_def: 'Project def',
      lang_view_build_def: 'Build def',
      lang_view_package_def: 'Package def',
      lang_view_artifact_def: 'Artifact def',
      lang_view_docker_ignore_def: 'Docker ignore',
      lang_view_custom_step_def: 'Custom step def',
      lang_view_env_custom_step_def: 'Env custom step def',
      lang_view_ops_def: 'OPS action def',
      lang_view_ops_batch_def: 'OPS batch def',
      lang_view_deploy_container_def: 'Deploy container def',
      lang_view_deploy_artifact_def: 'Deploy artifact def',
      lang_view_istio_def: 'Istio def',
      lang_view_istio_gateway_def: 'Istio gateway def',
      lang_view_related_def: 'Related def',
      lang_view_pipelines_settings: 'Pipelines settings',
      lang_view_envs_settings: 'Envs settings',
      lang_view_pipeline_detail: 'Pipeline detail',
      lang_view_pipeline_info: 'Pipeline info',
      lang_view_module_detail: 'Module detail',
      lang_view_module_info: 'Module info',
      lang_view_module_name: 'Module name',
      lang_view_module_type: 'Module type',
      lang_view_module_is_latest: 'Is latest',
      lang_view_module_latest_run_time: 'Latest run time',
      lang_view_module_runs_count: 'Runs count',
      lang_view_module_latest_run_name: 'Latest run name',
      lang_view_module_type_build: 'Build module',
      lang_view_module_type_package: 'Packge module',
      lang_view_module_type_deploy: 'Deploy container module',
      lang_view_module_type_artifact: 'Artifact module',
      lang_view_module_type_deploy_artifact: 'Deploy artifact module',
      lang_view_git_repo_dir_build_settings_dir: 'Build dependency pull configuration directory',
      lang_view_git_repo_dir_database_scripts_dir: 'Database scripts directory',
      lang_view_git_repo_dir_demo_codes_dir: 'Demo code directory',
      lang_view_git_repo_dir_deploy_scripts_dir: 'Host deployment script directory',
      lang_view_git_repo_dir_documents_dir: 'Demo document directory',
      lang_view_git_repo_dir_test_scripts_dir: 'Automated test script directory',      
      lang_view_steps: 'Steps',
      lang_view_run_detail: 'Run detail',
      lang_view_run_logs: 'Run logs',
      lang_view_run_commits: 'Commits',
      lang_view_run_modules: 'Run modules',
      lang_view_run: 'Run',
      lang_view_phase: 'Phase',
      lang_view_stage: 'Stage',
      lang_view_step: 'Step',
      lang_view_run_node_type: 'Node type',
      lang_view_run_node_name: 'Node name',
      lang_view_status: 'Status',
      lang_view_runs_fixed: 'Runs fixed',
      lang_view_error_start_time: 'Time of error',
      lang_view_success_run_name: 'Success run name',
      lang_view_error_close_time: 'Error closed time',
      lang_view_runs_queue: 'Run queues',
      lang_view_commits: 'Commits',
      lang_view_commit_hash: 'Commit',
      lang_view_commit_modify_line_count: 'Modify lines',
      lang_view_commit_message: 'Commit message',
      lang_view_committee: 'Committee',
      lang_view_committee_mail: 'Committee email',
      lang_view_commit_detail: 'Commit detail',
      lang_view_commit_changes_detail: 'Changed files',
      lang_view_commit_changes_type: 'Change type',
      lang_view_commit_changes_file: 'File name',
      lang_view_commit_changes_status: 'Change status',
      lang_view_pipeline_variable: 'Pipeline Variables',
      lang_view_step_desc: 'Step name',
      lang_view_step_action: 'Step action',
      lang_view_env: 'Env name',
      lang_view_ingress_def: 'Ingress def',
      lang_view_mesh_enable: 'Mesh enable',
      lang_view_mesh_def: 'Istio def',
      lang_view_mesh_build_id_default: 'Default version build ID',
      lang_view_mesh_build_id_new: 'New version build ID',
      lang_view_mesh_weight: 'New version traffic weight',
      lang_view_artifact_name: 'Artifact name',
      lang_view_artifact_files: 'Artifact files',
      lang_view_artifact_size: 'Artifact size',
      lang_view_build_path: 'Build path',
      lang_view_build_env: 'Build env',
      lang_view_build_command: 'Build commands',
      lang_view_build_check: 'Check commands',
      lang_view_latest_commit: 'Latest commits',
      lang_view_deploy_status: 'Deploy status',
      lang_view_pods_status: 'Pods status',
      lang_view_pods_pod_spec: 'Pod detail',
      lang_view_pods_error_describe: 'Error describe',
      lang_view_pods_error_logs: 'Error logs',
      lang_view_resource_quota_detail: 'Resource quota detail',
      lang_view_resource_quota_percentage_status: 'Resource quota percentage',
      lang_view_resource_quota_memory_request_percentage: 'Memory request used percentage',
      lang_view_resource_quota_memory_limit_percentage: 'Memory limit used percentage',
      lang_view_resource_quota_cpu_request_percentage: 'CPU request used percentage',
      lang_view_resource_quota_cpu_limit_percentage: 'CPU limit used percentage',
      lang_view_resource_quota_pods_limit_percentage: 'Pods limit used percentage',
      lang_view_operation_type: 'Operation type',
      lang_view_image_tag_name: 'Image tag name',
      lang_view_created_deployment_yaml: 'Created deploy YAML',
      lang_view_current_deployment_yaml: 'Current deploy status',
      lang_view_input_user: 'Input user',
      lang_view_input_value: 'Input value',
      lang_view_input_variables: 'Input variables',
      lang_view_image_size: 'Image size',
      lang_view_docker_file: 'Dockerfile',
      lang_view_architecture: 'Architecture',
      lang_view_scan_code_status: 'Scan code status',
      lang_view_scan_code_result: 'Scan code result',
      lang_view_scan_image_status: 'Scan image status',
      lang_view_scan_image_statistics: 'Scan image statistics',
      lang_view_scan_image_metadata: 'Scan image metadata',
      lang_view_scan_image_result: 'Scan image result',
      lang_view_scan_image_gate: 'Scan image gate',
      lang_view_scan_image_checkout: 'Scan image checkout',
      lang_view_image_tag_source: 'Source image tag',
      lang_view_image_tag_target: 'Target image tag',
      lang_view_test_stat: 'Test stat',
      lang_view_test_result: 'Test result',
      lang_view_test_report: 'Test reports',
      lang_view_test_report_archive: 'Test reports archive',
      lang_view_param_input: 'Input params',
      lang_view_param_output: 'Output params',
      lang_view_ignored: 'Ignored',
      lang_view_output_file: 'Output files',
      lang_view_output_file_archive: 'Output files archive',
      lang_view_archive_url: 'Deploy archive URL',
      lang_view_is_try: 'Verify only',
      lang_view_hosts_ini: 'Hosts',
      lang_view_tasks: 'Tasks',
      lang_view_read: 'Read',
      lang_view_unread: 'Unread',
      lang_view_sql_content: 'SQL script',
      lang_view_related_build_records: 'Build steps record',
      lang_view_related_package_record: 'Package step record',
      lang_view_related_artifact_record: 'Artifact step record',
      lang_view_metrics_runs_count: 'Runs execute count(Times)',
      lang_view_metrics_runs_duration: 'Runs average duration(Seconds)',
      lang_view_metrics_runs_weekly: 'Runs execute count weekly(Times)',
      lang_view_metrics_runs_status_rate: 'Runs status rate(Percentage)',
      lang_view_metrics_runs_fixruns_duration: 'Runs error fixed average duration(Minutes)',
      lang_view_metrics_steps_count: 'Steps execute count(Times)',
      lang_view_metrics_steps_duration: 'Steps average duration(Seconds)',
      lang_view_metrics_steps_weekly: 'Steps execute count weekly(Times)',
      lang_view_metrics_steps_status_rate: 'Steps status rate(Percentage)',
      lang_view_metrics_builds_count: 'Builds execute count(Times)',
      lang_view_metrics_builds_duration: 'Builds average duration(Seconds)',
      lang_view_metrics_builds_weekly: 'Builds execute count weekly(Times)',
      lang_view_metrics_builds_status_rate: 'Builds status rate(Percentage)',
      lang_view_metrics_scan_codes_count: 'Scan codes execute count(Times)',
      lang_view_metrics_scan_codes_duration: 'Scan codes average duration(Seconds)',
      lang_view_metrics_scan_codes_weekly: 'Scan codes execute count weekly(Times)',
      lang_view_metrics_scan_codes_status_rate: 'Scan codes status rate(Percentage)',
      lang_view_metrics_scan_images_count: 'Scan images execute count(Times)',
      lang_view_metrics_scan_images_duration: 'Scan images average duration(Seconds)',
      lang_view_metrics_scan_images_weekly: 'Scan images execute count weekly(Times)',
      lang_view_metrics_scan_images_status_rate: 'Scan images status rate(Percentage)',
      lang_view_metrics_scan_images_average_vuls_total: 'Scan images average total vulnerabilities(Number)',
      lang_view_metrics_scan_images_average_vuls_unknown: 'Scan images average unknodw vulnerabilities(Number)',
      lang_view_metrics_scan_images_average_vuls_low: 'Scan images average low vulnerabilities(Number)',
      lang_view_metrics_scan_images_average_vuls_medium: 'Scan images average medium vulnerabilities(Number)',
      lang_view_metrics_scan_images_average_vuls_high: 'Scan images average high vulnerabilities(Number)',
      lang_view_metrics_scan_images_average_vuls_critical: 'Scan images average critital vulnerabilities(Number)',
      lang_view_metrics_packages_count: 'Packae images execute count(Times)',
      lang_view_metrics_packages_duration: 'Packae images average duration(Seconds)',
      lang_view_metrics_packages_weekly: 'Packae images execute count weekly(Times)',
      lang_view_metrics_packages_status_rate: 'Packae images status rate(Percentage)',
      lang_view_metrics_packages_average_size: 'Packae images  average size(M)',
      lang_view_metrics_packages_total_size: 'Packae images  total size(M)',
      lang_view_metrics_artifacts_count: 'Artifact archives execute count(Times)',
      lang_view_metrics_artifacts_duration: 'Artifact archives average duration(Seconds)',
      lang_view_metrics_artifacts_weekly: 'Artifact archives execute count weekly(Times)',
      lang_view_metrics_artifacts_status_rate: 'Artifact archives status rate(Percentage)',
      lang_view_metrics_artifacts_average_size: 'Artifact archives average size(M)',
      lang_view_metrics_artifacts_total_size: 'Artifact archives total size(M)',
      lang_view_metrics_deploy_containers_count: 'Deploy containers execute count(Times)',
      lang_view_metrics_deploy_containers_duration: 'Deploy containers average duration(Seconds)',
      lang_view_metrics_deploy_containers_weekly: 'Deploy containers execute count weekly(Times)',
      lang_view_metrics_deploy_containers_status_rate: 'Deploy containers status rate(Percentage)',
      lang_view_metrics_deploy_artifacts_count: 'Deploy artifacts execute count(Times)',
      lang_view_metrics_deploy_artifacts_duration: 'Deploy artifacts average duration(Seconds)',
      lang_view_metrics_deploy_artifacts_weekly: 'Deploy artifacts execute count weekly(Times)',
      lang_view_metrics_deploy_artifacts_status_rate: 'Deploy artifacts status rate(Percentage)',
      lang_view_metrics_check_deploys_count: 'Check containers execute count(Times)',
      lang_view_metrics_check_deploys_duration: 'Check containers average duration(Seconds)',
      lang_view_metrics_check_deploys_weekly: 'Check containers execute count weekly(Times)',
      lang_view_metrics_check_deploys_status_rate: 'Check containers status rate(Percentage)',
      lang_view_metrics_check_quotas_count: 'Check quotas execute count(Times)',
      lang_view_metrics_check_quotas_duration: 'Check quotas average duration(Seconds)',
      lang_view_metrics_check_quotas_weekly: 'Check quotas execute count weekly(Times)',
      lang_view_metrics_check_quotas_status_rate: 'Check quotas status rate(Percentage)',
      lang_view_metrics_check_quotas_memory_request_average: 'memory request used average(M)',
      lang_view_metrics_check_quotas_memory_limit_average: 'memory limit used average(M)',
      lang_view_metrics_check_quotas_cpu_request_average: 'cpu request used average(Cores)',
      lang_view_metrics_check_quotas_cpu_limit_average: 'cpu limit used average(Cores)',
      lang_view_metrics_check_quotas_pods_limit_average: 'pods limit used average(Count)',
      lang_view_metrics_check_quotas_memory_request_rate: 'memory request used rate(Percentage)',
      lang_view_metrics_check_quotas_memory_limit_rate: 'memory limit used rate(Percentage)',
      lang_view_metrics_check_quotas_cpu_request_rate: 'cpu request used rate(Percentage)',
      lang_view_metrics_check_quotas_cpu_limit_rate: 'cpu limit used rate(Percentage)',
      lang_view_metrics_check_quotas_pods_limit_rate: 'pods limit used rate(Percentage)',
      lang_view_metrics_auto_tests_count: 'Auto test execute count(Times)',
      lang_view_metrics_auto_tests_duration: 'Auto test average duration(Seconds)',
      lang_view_metrics_auto_tests_weekly: 'Auto test execute count weekly(Times)',
      lang_view_metrics_auto_tests_status_rate: 'Auto test status rate(Percentage)',
      lang_view_metrics_auto_tests_average_test_total: 'Average total number of test cases (Count)',
      lang_view_metrics_auto_tests_average_test_pass: 'Average pass number of test cases (Count)',
      lang_view_metrics_auto_tests_average_test_fail: 'Average fail number of test cases (Count)',
      lang_view_metrics_auto_tests_average_test_skip: 'Average skip number of test cases (Count)',
      lang_view_metrics_custom_steps_count: 'Custom steps execute count(Times)',
      lang_view_metrics_custom_steps_duration: 'Custom steps average duration(Seconds)',
      lang_view_metrics_custom_steps_weekly: 'Custom steps execute count weekly(Times)',
      lang_view_metrics_custom_steps_status_rate: 'Custom steps status rate(Percentage)',
      lang_view_metrics_commits_count: 'Commits count(Times)',
      lang_view_metrics_commits_lines_count: 'Commits changed codes(Lines)',
      lang_view_metrics_commits_weekly: 'Commits count weekly(Times)',
      lang_view_metrics_commits_lines_weekly: 'Commits changed codes weekly(Lines)',
      lang_view_metrics_audit_logs_count: 'Audit logs count(Times)',
      lang_view_metrics_audit_logs_duration: 'Audit logs average duration(Seconds)',
      lang_view_metrics_audit_logs_weekly: 'Audit logs count weekly(Times)',
      lang_view_metrics_audit_logs_status_rate: 'Audit logs status rate(Percentage)',
      lang_view_project_users_permissions: 'Project permissions',
      lang_view_avatar: 'Avatar',
      lang_view_username: 'Username',
      lang_view_is_active: 'Is active',
      lang_view_is_admin: 'Is admin',
      lang_view_project_role: 'Project role',
      lang_view_git_push_execute_pipeline: 'Execute pipeline when git push',
      lang_view_crontab_settings: 'Pipeline crontabs settings',
      lang_view_crontab_execute_minute: 'Execute minutes',
      lang_view_crontab_execute_hour: 'Execute hours',
      lang_view_crontab_execute_day: 'Execute days',
      lang_view_crontab_execute_month: 'Execute months',
      lang_view_crontab_execute_week_day: 'Execute week days',
      lang_view_all_time: 'All times',
      lang_view_trigger_settings: 'Pipeline triggers settings',
      lang_view_trigger_before_execute: 'Trigger before step execute',
      lang_view_trigger_type: 'Trigger type',
      lang_view_trigger_statuses: 'Trigger statuses',
      lang_view_trigger_mail_committee: 'Send mails to all committees',
      lang_view_trigger_notice_committee: 'Notice all committees',
      lang_view_webhook_request_url: 'Webhook request url',
      lang_view_webhook_request_method: 'Webhook request method',
      lang_view_notifications_users: 'Notice users',
      lang_view_env_resource_quotas_settings: 'Env resource quota settings',
      lang_view_project_namespace_quota: 'Project namespace resource quota',
      lang_view_project_default_quota: 'Container default resource quota',
      lang_view_memory_request: 'Memory request',
      lang_view_memory_limit: 'Memory limit',
      lang_view_cpu_request: 'CPU request',
      lang_view_cpu_limit: 'CPU limit',
      lang_view_pods_limit: 'Pods limit count',
      lang_view_env_pvs_settings: 'Env PVs settings',
      lang_view_pv_name: 'PV name',
      lang_view_pv_type: 'PV type',
      lang_view_pv_yaml: 'PV YAML settings',
      lang_view_pv_bind_project: 'PV bind project namespace',
      lang_view_pv_bind_status: 'PV bind status',
      lang_view_pv_pvc_name: 'PVC name',
      lang_view_env_network_policy_settings: 'Env network policy settings',
      lang_view_network_policy_name: 'network policy name',
      lang_view_network_policy_type: 'network policy type',
      lang_view_network_policy_yaml: 'network policy YAML',
      lang_view_env_hosts_settings: 'Env hosts settings',
      lang_view_host_name: 'Host name ID',
      lang_view_host_group: 'Host groups',
      lang_view_host_address: 'Host address',
      lang_view_host_port: 'Host port',
      lang_view_host_remote_user: 'Remote login user',
      lang_view_host_remote_password: 'Remote login password',
      lang_view_host_is_sudo: 'Sudo after login',
      lang_view_host_sudo_user: 'Sudo user',
      lang_view_host_sudo_password: 'Sudo password',
      lang_view_host_variables: 'Host variables',
      lang_view_env_databases_settings: 'Env databases settings',
      lang_view_database_name: 'Database name ID',
      lang_view_database_jdbc: 'JDBC connection settings',
      lang_view_database_username: 'Connection username',
      lang_view_database_password: 'Connection pasword',
      lang_view_env_debug_components_settings: 'Env debug components settings',
      lang_view_debug_component_def_yaml: 'Debug components def YAML',
      lang_view_debug_component_yaml: 'Debug component YAML',
      lang_view_debug_component_current_yaml: 'Debug component status',
      lang_view_debug_component_connect_desc: 'Debug components connect explanation',
      lang_view_debug_component_create_update_time: 'Create/update time',
      lang_view_env_components_settings: 'Env components settings',
      lang_view_component_name: 'Component name',
      lang_view_component_desc: 'Component explanation',
      lang_view_component_def_yaml: 'Component def YAML',
      lang_view_component_deployment_yaml: 'Component deployment YAML',
      lang_view_component_service_yaml: 'Component service YAML',
      lang_view_component_hpa_yaml: 'Component HPA YAML',
      lang_view_attachments: 'Attachments',
      lang_view_apply_ticket: 'Apply ticke',
      lang_view_apply_title: 'Apply title',
      lang_view_apply_user: 'Apply user',
      lang_view_apply_type: 'Apply type',
      lang_view_apply_time: 'Apply time',
      lang_view_apply_content: 'Apply content',
      lang_view_apply_logs: 'Processing records',
      lang_view_apply_reply_user: 'Processing user',
      lang_view_apply_log_type: 'Processing type',
      lang_view_apply_log_time: 'Processing time',
      lang_view_apply_log_content: 'Processing content',
      lang_view_apply_log_params: 'Processing params',
      lang_view_apply_reviewing: 'Reviewing',
      lang_view_apply_returning: 'Returning',
      lang_view_apply_processing: 'Processing',
      lang_view_apply_closing: 'Closing',
      lang_view_apply_closed: 'Closed',
      lang_view_mail_log_to: 'Receiver',
      lang_view_mail_log_subject: 'Subject',
      lang_view_mail_log_enable_resend: 'Enable resend',
      lang_view_mail_log_statuses: 'Mail status',
      lang_view_mail_log_create_time: 'Send time',
      lang_view_mail_log_msg: 'Error message',
      lang_view_mail_log_text: 'Mail content',
      lang_view_mail_log_resend: 'Resend',
      lang_view_admin_webhook_admin_action: 'Admin action',
      lang_view_admin_webhook_enable: 'Enable',
      lang_view_admin_webhook_webhook_url: 'Webhook URL',
      lang_view_admin_webhook_webhook_method: 'Method',
      lang_view_admin_webhook_username: 'Username',
      lang_view_admin_webhook_create_time: 'Create time',
      lang_view_docker_name: 'executor name',
      lang_view_msg: 'log content',
      lang_view_create_read_time: 'Create/read time',
      lang_view_webhook_logs: 'Webhooks trigger records',
      lang_view_return_status_code: 'Return status code',
      lang_view_step_detail: 'Step detail',
      lang_view_admin_webhook_vars: 'Admin webhook vars',
      lang_view_return_message: 'Return message',
      lang_view_webhook_request_status: 'Webhook request status',
      lang_view_webhook_request_exception: 'Webhook request exception',
      lang_view_webhook_request_detail: 'Webhook request detail',
      lang_view_webhook_request_curl: 'Webhook request cURL command',
      lang_view_webhook_request_response_headers: 'Webhook response headers',
      lang_view_webhook_request_response_body: 'Webhook response body',
      lang_view_webhook_request_step_detail: 'Webhook request step detail',
      lang_view_trigger_time: 'Trigger time',
      lang_view_mail_receivers: 'Mail receivers',
      lang_view_mail_status: 'Mail status',
      lang_view_mail_exception: 'Mail exception',
      lang_view_mail_detail: 'Mail detail',
      lang_view_mail_attachments: 'Mail attachments',
      lang_view_mail_run_log_attachments: 'Run logs attachments',
      lang_view_mail_pipeline_variables_attachments: 'Pipeline variables attachments',
      lang_view_announcements: 'announcements',
      lang_view_announcement_detail: 'Announcement detail',
      lang_view_announcement_level: 'Announcement level',
      lang_view_announcement_title: 'Announcement title',
      lang_view_announcement_user: 'Announcement user',
      lang_view_announcement_time: 'Announcement time',
      lang_view_is_read: 'Is read',
      lang_view_announcement_content: 'Announcement content',
      lang_view_users_management: 'Users management',
      lang_view_user_mail_mobile: 'Mail/mobile',
      lang_view_user_tenant_admins: 'Project tenant admins',
      lang_view_user_create_login_time: 'Create/login time',
      lang_view_user_project_permissions: 'Project permissions',
      lang_view_envs_management: 'Envs management',
      lang_view_env_desc: 'Env explanation',
      lang_view_tenants: 'Tenants management',
      lang_view_tenant_code: 'Tenant code',
      lang_view_tenant_projects: 'Tenant projects',
      lang_view_docker_build_envs: 'Build environment',
      lang_view_repo_configs: 'Repositories management',
      lang_view_build_env_name: 'Build env name',
      lang_view_build_env_image: 'Build env image name',
      lang_view_build_env_arches: 'Build env arches',
      lang_view_is_from_file: 'Created from file',
      lang_view_repo_name: 'Repository name',
      lang_view_repo_type: 'Repository type',
      lang_view_custom_steps: 'Custom steps management',
      lang_view_custom_step_name: 'Custom step name',
      lang_view_custom_step_english_desc: 'Custom step explanation',
      lang_view_custom_step_desc: 'Custom step usage',
      lang_view_custom_step_is_env_diff: 'Diff env diff settings',
      lang_view_executor_settings: 'Executor settings',
      lang_view_component_templates_management: 'Component templates management',
      lang_view_component_template_name: 'Template name',
      lang_view_component_template_desc: 'Template explanation',
      lang_view_component_template_yaml: 'Template def YAML',
      lang_view_create_time: 'Create time',
      lang_view_audit_logs_management: 'Audit logs management',
      lang_view_audit_logs_type: 'Audit log type',
      lang_view_operate_username: 'Operate username',
      lang_view_operate_time: 'Operation time',
      lang_view_audit_logs_params: 'Operation params',
      lang_view_audit_logs_response: 'Operation response',
      lang_view_audit_logs_execute_logs: 'Operation logs',
      lang_view_system_config: 'View system config',
      lang_view_access_tokens: 'Access token',
      lang_view_access_token_name: 'Token name',
      lang_view_is_expires: 'Is expires',
      lang_view_expire_time: 'Expires time',
      lang_view_change_password: 'Change password',
      lang_view_edit_profile: 'Edit profile',
      lang_view_forget_password: 'Forget password',
      lang_view_input_account: 'Input Account',
      lang_view_send_reset_mail: 'Send password reset mail',
      lang_view_reset_password: 'Reset password',
      lang_view_detail: 'Detail',
      lang_view_no_options_to_select: '[ERROR] No options to select',
      lang_view_now_downloading: 'Now downloading...',
      lang_form_yes: 'YES',
      lang_form_no: 'NO',
      lang_form_clear: 'Clear',
      lang_form_select_time: 'Select time range',
      lang_form_required_tip: 'Form fields are required*',
      lang_form_required: 'This form field is required*',
      lang_form_must_be_integer: 'Must be integer',
      lang_form_can_not_less_than_0: 'Can not less than 0',
      lang_form_can_not_less_than__1: 'Can not less than -1',
      lang_form_must_greater_than_0: 'Must greater than 0',
      lang_form_required_can_not_start_with_slash: 'This form field is required and can not starts with /',
      lang_form_required_must_start_with_slash: 'This form field is required and must starts with /',
      lang_form_required_must_be_0_to_100: 'Must between 0-100',
      lang_form_input_value_to_confirm: 'Dangerous operation, input {0} to continue!',
      lang_form_account: 'Account',
      lang_form_login_account_tip: 'Account/login mail',
      lang_form_password: 'Password',
      lang_form_mail: 'Mail',
      lang_form_input_new_password: 'Input new password',
      lang_form_repeat_new_password: 'Repeat new password',
      lang_form_project_name: 'Project names',
      lang_form_project_team: 'Project team',
      lang_form_pipeline_name: 'Pipeline names',
      lang_form_run_name: 'Run names',
      lang_form_branch_name: 'Branch names',
      lang_form_status: 'Statuses',
      lang_form_duration: 'Duration',
      lang_form_duration_tip_1: '0-2 minutes',
      lang_form_duration_tip_2: '2-5 minutes',
      lang_form_duration_tip_3: '5-15  minutes',
      lang_form_duration_tip_4: '15-30  minutes',
      lang_form_duration_tip_5: 'More than 30 minutes',
      lang_form_start_time: 'Start time',
      lang_form_tag_name: 'Tag name',
      lang_form_start_user: 'Start user',
      lang_form_trigger_kind: 'Trigger kind',
      lang_form_is_closed: 'Closed',
      lang_form_error_start_time: 'Time of error',
      lang_form_commit_hash: 'Commit hashes',
      lang_form_commit_time: 'Commit time',
      lang_form_committee: 'Committee',
      lang_form_committee_mail: 'Committee mail',
      lang_form_env: 'Env names',
      lang_form_from_file: 'From config file',
      lang_form_tenant_codes: 'Tenant codes',
      lang_form_build_env_names: 'Build env names',
      lang_form_repo_names: 'Repositories names',
      lang_form_repo_types: 'Repositories types',
      lang_form_step_action: 'Step actions',
      lang_form_module_name: 'Module name',
      lang_form_module_type: 'Module types',
      lang_form_run_number: 'Run number',
      lang_form_is_step: 'Is step',
      lang_form_trigger_before_execute: 'Trigger before step execute',
      lang_form_create_time: 'Create time',
      lang_form_last_login: 'Last login',
      lang_form_module_hide: 'Hide module {0}',
      lang_form_module_hide_prompt: 'After hiding a module, the module will not be displayed on the CI/CD page',
      lang_form_module_show: 'Show module {0}',
      lang_form_module_show_prompt: 'After showing a module, the module will be displayed on the CI/CD page',
      lang_form_metrics_dimension: 'Metrics dimension',
      lang_form_metrics_dimension_all: 'ALL',
      lang_form_metrics_dimension_project_name: 'projectName',
      lang_form_metrics_dimension_project_team: 'projectTeam',
      lang_form_metrics_dimension_branch_name: 'branchName',
      lang_form_metrics_dimension_pipeline_name: 'pipelineName',
      lang_form_metrics_dimension_status_result: 'statusResult',
      lang_form_metrics_dimension_trigger_kind: 'triggerKind',
      lang_form_metrics_dimension_env_name: 'envName',
      lang_form_metrics_dimension_module_type: 'moduleType',
      lang_form_metrics_dimension_module_name: 'moduleName',
      lang_form_metrics_dimension_step_action: 'stepAction',
      lang_form_metrics_dimension_build_env: 'buildEnv',
      lang_form_metrics_dimension_scan_code_result: 'scanCodeResult',
      lang_form_metrics_dimension_scan_image_result: 'scanImageResult',
      lang_form_metrics_dimension_is_mesh_enable: 'isMeshEnable',
      lang_form_metrics_dimension_deployment_status: 'deploymentStatus',
      lang_form_metrics_dimension_test_type: 'testType',
      lang_form_metrics_dimension_custom_step_type: 'customStepName',
      lang_form_metrics_dimension_committee_name: 'committee',
      lang_form_metrics_dimension_committee_mail: 'committeeEmail',
      lang_form_metrics_dimension_username: 'username',
      lang_form_metrics_dimension_operate_type: 'opType',
      lang_form_metrics_dimension_with_admin_log: 'withAdminLog',
      lang_form_metrics_range: 'Metrics range',
      lang_form_metrics_range_year: 'Year',
      lang_form_metrics_range_month: 'Month',
      lang_form_metrics_range_week: 'Week',
      lang_form_metrics_range_day: 'Day: default',
      lang_form_metrics_range_hour: 'Hour',
      lang_form_metrics_time_range: 'Time range',
      lang_form_metrics_time_range_days_7: 'Last 7 days: default',
      lang_form_metrics_time_range_days_14: 'Last 14 days',
      lang_form_metrics_time_range_days_30: 'Last 30 days',
      lang_form_metrics_time_range_days_90: 'Last 90 days',
      lang_form_metrics_time_range_days_365: 'Last 365 days',
      lang_form_metrics_time_range_days_custom: 'Custom days range',
      lang_form_metrics_time_range_custom: 'Custom range',
      lang_form_metrics_filter_by_project_name: 'Filter by project names',
      lang_form_metrics_filter_by_project_team: 'Filter by project teams',
      lang_form_metrics_filter_by_branch_name: 'Filter by branch names',
      lang_form_metrics_filter_by_pipeline_name: 'Filter by pipeline names',
      lang_form_metrics_filter_by_status: 'Filter by statuses',
      lang_form_metrics_filter_by_trigger_kind: 'Filter by trigger kinds',
      lang_form_metrics_filter_by_env_name: 'Filter by env names',
      lang_form_metrics_filter_by_module_type: 'Filter by module types',
      lang_form_metrics_filter_by_module_name: 'Filter by module names',
      lang_form_metrics_filter_by_step_action: 'Filter by step actions',
      lang_form_metrics_filter_by_build_env: 'Filter by build envs',
      lang_form_metrics_filter_by_scan_status: 'Filter by scan statuses',
      lang_form_metrics_filter_by_is_mesh_enable: 'Filter by is mesh enable',
      lang_form_metrics_filter_by_deployment_status: 'Filter by deployment statuses',
      lang_form_metrics_filter_by_test_type: 'Filter by auto test types',
      lang_form_metrics_filter_by_custom_step_type: 'Filter by custom step types',
      lang_form_metrics_filter_by_committee_name: 'Filter by committee names',
      lang_form_metrics_filter_by_committee_mail: 'Filter by committee mails',
      lang_form_metrics_filter_by_username: 'Filter by usernames',
      lang_form_metrics_filter_by_operate_type: 'Filter by operation types',
      lang_form_metrics_filter_by_with_admin_log: 'Filter by with admin logs',
      lang_form_all: 'ALL',
      lang_form_i_created: 'I created',
      lang_form_i_related: 'I related',
      lang_form_search_apply_type: 'Apply types',
      lang_form_search_apply_new_user: 'Apply create user',
      lang_form_search_apply_other: 'Apply others',
      lang_form_search_apply_new_project_node_ports: 'Apply new node ports range',
      lang_form_search_apply_delete_project_node_ports: 'Apply remove node ports range',
      lang_form_search_apply_new_project_envs: 'Apply assign new project envs',
      lang_form_search_apply_delete_project_envs: 'Apply remove project env',
      lang_form_search_apply_delete_project_envs_all: 'Apply remove env and delete namespace',
      lang_form_search_apply_update_project: 'Apply update project info',
      lang_form_search_apply_delete_project: 'Apply delete project',
      lang_form_search_apply_delete_project_all: 'Apply delete project and namespace',
      lang_form_search_apply_update_resource_quota: 'Apply update resource quota',
      lang_form_search_apply_assign_pv: 'Apply assign PV',
      lang_form_search_apply_remove_pv: 'Apply remove PV',
      lang_form_search_apply_reviewing: 'Reviewing',
      lang_form_search_apply_returning: 'Returning',
      lang_form_search_apply_processing: 'Processing',
      lang_form_search_apply_closing: 'Closing',
      lang_form_search_apply_closed: 'Closed',
      lang_form_search_apply_ticket: 'Apply ticket',
      lang_form_search_apply_username: 'Apply username',
      lang_form_search_apply_user_name: 'Apply user display name',
      lang_form_search_apply_title: 'Apply title',
      lang_form_search_apply_content: 'Apply content',
      lang_form_search_apply_create_time: 'Apply create time',
      lang_from_mail_log_to: 'Receiver',
      lang_from_mail_log_subject: 'Subject',
      lang_from_mail_log_enable_resend: 'Enable resend',
      lang_from_mail_log_statuses: 'Mail status',
      lang_from_msg: 'log content',
      lang_form_update_time: 'Update time',
      lang_form_is_read: 'Is read',
      lang_form_return_status_code: 'Return status codes',
      lang_form_webhook_request_status: 'Request statuses',
      lang_form_trigger_time: 'Trigger time',
      lang_form_mail_receivers: 'Mail receivers',
      lang_form_mail_status: 'Mail statuses',
      lang_form_read: 'Read',
      lang_form_unread: 'Unread',
      lang_form_announcement_level: 'Announcement level',
      lang_form_announcement_time: 'Announcement time',
      lang_form_username: 'Usernames',
      lang_form_tenant_admins: 'Project tenant admins',
      lang_form_user_name: 'User display name',
      lang_form_is_active: 'Is active',
      lang_form_is_admin: 'Is admin',
      lang_form_is_tenant_admin: 'Is tenant admin',
      lang_form_sort_type: 'Sort mode',
      lang_form_sort_username_asc: 'Sort by username',
      lang_form_sort_user_name_asc: 'Sort by user display name',
      lang_form_sort_create_time_desc: 'Sort by create time reverse',
      lang_form_sort_create_time_asc: 'Sort by create time',
      lang_form_sort_login_time_desc: 'Sort by login time reverse',
      lang_form_sort_login_time_asc: 'Sort by  login time',
      lang_form_custom_step_name: 'Custom step names',
      lang_form_audit_logs_type: 'Audit logs types',
      lang_form_operate_username: 'Operate username',
      lang_form_operate_time: 'Operation time',
      lang_form_with_admin_log: 'With admin logs',
      lang_form_with_apply_ticket: 'From apply ticket',
      lang_form_pipeline_def: 'Pipeline definition settings',
      lang_form_build_def: 'Build modules definition settings',
      lang_form_package_def: 'Package image modules definition settings',
      lang_form_artifact_def: 'Artifact archives modules definition settings',
      lang_form_docker_ignore_def: 'Docker ignore settings',
      lang_form_custom_step_def: 'Custom step modules definition settings',
      lang_form_ops_def: 'OPS action definition settings',
      lang_form_ops_batch_def: 'OPS batches definition settings',
      lang_form_deploy_container_def: 'Deploy container modules definition settings',
      lang_form_deploy_artifact_def: 'Deploy artifact modules definition settings',
      lang_form_istio_def: 'Istio mesh modules definition settings',
      lang_form_istio_gateway_def: 'Istio mesh gateway definition settings',
      lang_form_create_def_item_from_template: 'Create definition from template',
      lang_form_create_def_item_from_empty: 'Create empty definition',
      lang_form_update_def_comment: 'Comment message(comment)',
      lang_form_build_def_build_name: 'Build module name(buildName)*',
      lang_form_build_def_build_name_tip_1: 'Example: {0}-gin-demo, must starts with {0}-',
      lang_form_build_def_build_phase_id: 'Build phase ID(buildPhaseID)*',
      lang_form_build_def_build_phase_id_tip_1: 'The same build phase ID means parallel build, must be greater than 0',
      lang_form_build_def_build_path: 'Build module source code path(buildPath)*',
      lang_form_build_def_build_path_tip_1: 'The relative path of the build module in the code repository, cannot starts with /, if in root of the code repository please use "."',
      lang_form_build_def_build_env: 'Compile environment(buildEnv)*',
      lang_form_build_def_build_cmds: 'Compile commands(buildCmds)*',
      lang_form_build_def_build_cmds_tip_1: 'Use carriage returns to separate multiple commands, support to use pipeline variables',
      lang_form_build_def_build_checks: 'Check commands after compiled(buildChecks)*',
      lang_form_build_def_build_checks_tip_1: 'Use carriage returns to separate multiple commands, support to use pipeline variables',
      lang_form_build_def_build_caches: 'The subdirectory that needs to be cached (buildCaches)',
      lang_form_build_def_build_caches_tip_1: 'The path of the subdirectory that needs to be cached under the code path of the build module. Please use a carriage return to separate multiple subdirectories, and cannot start with /. Note that the contents of the cache directory are mounted to the external cache volume and are not stored in the workspace of the compilation environment',
      lang_form_build_def_sonar_extra_settings: 'Sonarqube extras scan properties(sonarExtraSettings)',
      lang_form_build_def_sonar_extra_settings_tip_1: 'If there are additional sonar-project.properties scan parameters that need to be set, please provide',
      lang_form_build_def_sonar_extra_settings_tip_2: 'Scan parameters reference: https://docs.sonarqube.org/latest/analysis/analysis-parameters/',
      lang_form_build_def_sonar_extra_settings_tip_3: 'Support to use pipeline variables',
      lang_form_package_def_package_name: 'Package image module name(packageName)*',
      lang_form_package_def_package_name_tip_1: 'Example: {0}-gin-demo, must starts with {0}-',
      lang_form_package_def_related_builds: 'Related build modules(relatedBuilds)*',
      lang_form_package_def_related_builds_tip_1: 'Which build modules do the compile artifacts of the package image module come from?',
      lang_form_package_def_docker_file: 'Package image Dockerfile commands(dockerFile)*',
      lang_form_package_def_docker_file_tip_1: 'Package image Dockerfile commands',
      lang_form_package_def_docker_file_tip_2: 'Support to use pipeline variables',
      lang_form_artifact_def_artifact_name: 'Artifact archive module name(artifactName)*',
      lang_form_artifact_def_artifact_name_tip_1: 'Example: {0}-gin-demo, must starts with {0}-',
      lang_form_artifact_def_related_builds: 'Related build modules(relatedBuilds)*',
      lang_form_artifact_def_related_builds_tip_1: 'Which build modules do the compile artifacts of the artifact archive module come from?',
      lang_form_artifact_def_artifacts: 'Archive path settings(artifacts)*',
      lang_form_artifact_def_artifacts_tip_1: 'Which files need to be copied to the artifact archive, the source file path is the relative path of the code repository, and the target path is the relative path in the compressed artifact archive',
      lang_form_artifact_def_artifacts_tip_2: 'Support to use pipeline variables',
      lang_form_artifact_def_artifacts_src: 'Source file path*, can not starts with /',
      lang_form_artifact_def_artifacts_dst: 'Target file path*, can not starts with /',
      lang_form_docker_ignore_def_tip_1: 'Docker image packaging will scan all the directories in the code repository. If there are too many files in the code repository, the packaging and scanning process will be too slow. If you need to improve the packaging speed, set the docker ignore settings',
      lang_form_docker_ignore_def_tip_2: '"/abc*" It means any direct subdirectory or direct subfile starting with abc will be ignored in root directory, examples: /abc  abc.txt',
      lang_form_docker_ignore_def_tip_3: '"*/abc*" It means any subdirectory or subfile starting with abc will be ignored in root directory, examples: /file/abc  /file/abc.txt',
      lang_form_docker_ignore_def_tip_4: '"*/*/abc*" It means any second level subdirectory or subfile starting with abc will be ignored in root directory, examples: /file1/file2/abc  /file1/file2/abc.txt',
      lang_form_docker_ignore_def_tip_5: '"**/abc*" **A special wildcard string that matches any number of directories (including zero), examples: /a/b/abc.txt /c/abc.md /a/b/c/abcde',
      lang_form_docker_ignore_def_tip_6: '"temp?" It means matches directory or file in root directory, examples: /tempa /tempb',
      lang_form_def_add_params: 'Add definition settings',
      lang_form_deploy_container_def_deploy_name: 'Deploy container module name(deployName)*',
      lang_form_deploy_container_def_deploy_name_tip_1: 'Example: {0}-gin-demo, must starts with {0}-',
      lang_form_deploy_container_def_deploy_image: 'Container image(deployImage)*',
      lang_form_deploy_container_def_deploy_image_tip_1: 'Full path of container image',
      lang_form_deploy_container_def_related_package: 'Related package image module(relatedPackage)*',
      lang_form_deploy_container_def_related_package_tip_1: 'Which package image module do the deploy container image come from?',
      lang_form_deploy_container_def_deploy_type: 'Deploy type(deployType)*',
      lang_form_deploy_container_def_deploy_type_tip_1: 'Deploy container with Deployment or StatefulSet',
      lang_form_deploy_container_def_deploy_replicas: 'Number of replica instances(deployReplicas)*',
      lang_form_deploy_container_def_deploy_headless: 'Whether headless service (deployHeadless)',
      lang_form_deploy_container_def_deploy_headless_tip_1: 'The headless service does not perform load balancing, and the pods can access each other through the domain name, which is only valid when deployType is set to statefulset',
      lang_form_deploy_container_def_deploy_pod_management_policy: "StatefulSet's pods management policy (podManagementPolicy)",
      lang_form_deploy_container_def_deploy_pod_management_policy_tip_1: 'OrderedReady means to start each pod in sequence',
      lang_form_deploy_container_def_deploy_pod_management_policy_tip_2: 'Parallel means start each pod in parallel',
      lang_form_deploy_container_def_deploy_pod_management_policy_tip_3: 'Only valid when deployType is set to statefulset',
      lang_form_deploy_container_def_deploy_meta: 'Container deployment module meta information (deployMeta)',
      lang_form_deploy_container_def_deploy_meta_labels: 'label information (labels)',
      lang_form_deploy_container_def_deploy_meta_labels_tip_1: 'Additional label information of container deployment module',
      lang_form_deploy_container_def_deploy_meta_labels_name: 'label name*',
      lang_form_deploy_container_def_deploy_meta_labels_value: 'label value*',
      lang_form_deploy_container_def_deploy_meta_annotations: 'Annotations (annotations)',
      lang_form_deploy_container_def_deploy_meta_annotations_tip_1: 'Additional annotation information for the container deployment module',
      lang_form_deploy_container_def_deploy_meta_annotations_name: 'Annotation name*',
      lang_form_deploy_container_def_deploy_meta_annotations_value: 'Annotation value*',
      lang_form_deploy_container_def_hpa_config: 'Horizontal pod autoscaler settings(hpaConfig)',
      lang_form_deploy_container_def_hpa_config_tip_1: 'Note that it is only applicable to stateless applications, and the horizontal expansion or contraction of stateful applications may cause service exceptions',
      lang_form_deploy_container_def_hpa_config_tip_2: 'When the actual average CPU or memory used by the application for a period of time is higher than the preset value, the application will automatically expand horizontally',
      lang_form_deploy_container_def_hpa_config_tip_3: 'When the application is scaled horizontally, if the actual average CPU or memory used by the application for a period of time is lower than the preset value, the application will automatically scale down horizontally',
      lang_form_deploy_container_def_hpa_config_max_replicas: 'The limit number of replicas can scale up(maxReplicas)*',
      lang_form_deploy_container_def_hpa_config_memory_average_value: 'Memory average value(memoryAverageValue)',
      lang_form_deploy_container_def_hpa_config_memory_average_value_tip_1: 'When the average memory of the application for a period of time reaches this value, automatic expansion will be started (100Mi means 100M memory, 1Gi means 1G memory)',
      lang_form_deploy_container_def_hpa_config_memory_average_request_percent: 'Memory average request percent(memoryAverageRequestPercent)',
      lang_form_deploy_container_def_hpa_config_memory_average_request_percent_tip_1: "The percentage of the application's memory average over a period of time reaching the preset value will start automatic expansion (1 - 100)",
      lang_form_deploy_container_def_hpa_config_cpu_average_value: 'CPU average value(cpuAverageValue)',
      lang_form_deploy_container_def_hpa_config_cpu_average_value_tip_1: 'When the average CPU value of the application for a period of time reaches this value, automatic expansion will be started (100m means 0.1, which means 0.1 CPU)',
      lang_form_deploy_container_def_hpa_config_cpu_average_request_percent: 'CPU average request percent(cpuAverageRequestPercent)',
      lang_form_deploy_container_def_hpa_config_cpu_average_request_percent_tip_1: 'The percentage of the average cpu of the application over a period of time reaching the preset value will start automatic expansion (1 - 100)',
      lang_form_deploy_container_def_deploy_other: 'Miscellaneous settings(deployOther)',
      lang_form_deploy_container_def_deploy_args: 'Deploy args settings(deployArgs)',
      lang_form_deploy_container_def_deploy_args_tip_1: 'Arguments to the entrypoint settings',
      lang_form_deploy_container_def_deploy_session_affinity_timeout_seconds: 'Session sticky settings(deploySessionAffinityTimeoutSeconds)',
      lang_form_deploy_container_def_deploy_session_affinity_timeout_seconds_tip_1: 'For multi-instance stateful services, if you need to enable session sticky support, you need to set the session sticky timeout in seconds',
      lang_form_deploy_container_def_deploy_ports: 'Service ports settings(deployPorts)',
      lang_form_deploy_container_def_deploy_node_ports: 'Service node port settings(deployNodePorts)',
      lang_form_deploy_container_def_deploy_node_ports_tip_1: 'When the application needs to be accessed outside the kubernetes cluster, it needs to provide external services through the node port',
      lang_form_deploy_container_def_deploy_node_ports_port: 'Internal port exposed by node port(port)*',
      lang_form_deploy_container_def_deploy_node_ports_protocol: 'Protocol type(protocol)*',
      lang_form_deploy_container_def_deploy_node_ports_node_port: 'Node port(nodePort)*',
      lang_form_deploy_container_def_deploy_node_ports_node_port_tip_1: 'Accessing node port outside the kubernetes cluster can access the internal port of the application. Please ensure that the node port is not duplicated, otherwise the application cannot be deployed',
      lang_form_deploy_container_def_deploy_local_ports: 'Service local port settings(deployLocalPorts)',
      lang_form_deploy_container_def_deploy_local_ports_tip_1: 'If the application does not need to be accessed outside the kubernetes cluster, then set the local port',
      lang_form_deploy_container_def_deploy_local_ports_port: 'Internal service port(port)*',
      lang_form_deploy_container_def_deploy_local_ports_protocol: 'Protocol type(protocol)*',
      lang_form_deploy_container_def_deploy_local_ports_ingress: 'Domain name settings(ingress)',
      lang_form_deploy_container_def_deploy_local_ports_ingress_tip_1: 'Access the service through domain names and subpaths outside the kubernetes cluster',
      lang_form_deploy_container_def_deploy_local_ports_ingress_tip_2: 'The access method is http://<domainName><pathPrefix>',
      lang_form_deploy_container_def_deploy_local_ports_ingress_domain_name: 'Domain name(ingress.domainName)',
      lang_form_deploy_container_def_deploy_local_ports_ingress_domain_name_tip_1: 'Domain name to access the service',
      lang_form_deploy_container_def_deploy_local_ports_ingress_path_prefix: 'Path prefix(ingress.pathPrefix)',
      lang_form_deploy_container_def_deploy_local_ports_ingress_path_prefix_tip_1: 'The subpath prefix for accessing this service must start with /. Note that ingress does not support url rewrite. Please ensure that the path is accessible under this service',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_self_signed: 'Whether to automatically create a self-signed certificate(ingress.certSelfSigned)',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_self_signed_tip_1: 'Set to use https to access the ingress domain name, avialiable when domainName and pathPrefix are enabled',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_self_signed_tip_2: 'Please ensure that this option is the same for all container deployment modules',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_path: 'Certification path in code repository(ingress.certPath)',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_path_tip_1: 'Set to use https to access the ingress domain name, avialiable when domainName and pathPrefix are enabled',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_path_tip_2: 'If you do not enable automatic creation of self-signed certificates, you need to set the path of the certificate and private key in the code repository. The names of the certificate and private key files are tls.crt and tls.key',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_path_tip_3: 'The pipeline will automatically save the tls.crt and tls.key certificates in the <certPath> directory to the secret of the kubernetes environment',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_path_tip_4: 'The relative path of the certificate directory in the code repository, which cannot start and end with /',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_path_tip_5: 'Please ensure that this option is the same for all container deployment modules',
      lang_form_deploy_container_def_deploy_envs: 'Env variables settings(deployEnvs)',
      lang_form_deploy_container_def_deploy_envs_tip_1: 'Container environment variables settings',
      lang_form_deploy_container_def_deploy_envs_name: 'Name*',
      lang_form_deploy_container_def_deploy_envs_value: 'Value*',
      lang_form_deploy_container_def_deploy_command: 'Command to launch the container(deployCommand)',
      lang_form_deploy_container_def_deploy_command_tip_1: 'Support to use pipeline variables',
      lang_form_deploy_container_def_deploy_resources: 'Container resource quota settings(deployResources)',
      lang_form_deploy_container_def_deploy_resources_tip_1: 'Container cpu and memory resource quota settings',
      lang_form_deploy_container_def_deploy_resources_memory_request: 'Memory request(memoryRequest)*',
      lang_form_deploy_container_def_deploy_resources_memory_request_tip_1: 'The memory occupied by the container. If the total memory occupied by all containers in the namespace exceeds the resource quota, the container cannot be started (100Mi means 100M memory, 1Gi means 1G memory)',
      lang_form_deploy_container_def_deploy_resources_memory_limit: 'Memory limit(memoryLimit)*',
      lang_form_deploy_container_def_deploy_resources_memory_limit_tip_1: 'The maximum memory resource that can be allocated by the container. The sum of the maximum memory quota of all containers in the namespace will fail to start the container if the resource quota is exceeded (200Mi means 200M memory, 1Gi means 1G memory)',
      lang_form_deploy_container_def_deploy_resources_cpu_request: 'CPU request(cpuRequest)*',
      lang_form_deploy_container_def_deploy_resources_cpu_request_tip_1: 'The CPU occupied by the container. If the total CPU occupied by all containers in the namespace exceeds the resource quota, the container cannot be started (100m means 0.1, which means 0.1 CPU)',
      lang_form_deploy_container_def_deploy_resources_cpu_limit: 'CPU limit(cpuLimit)*',
      lang_form_deploy_container_def_deploy_resources_cpu_limit_tip_1: 'The maximum CPU resource that the container can allocate. If the total maximum CPU quota of all containers in the namespace exceeds the resource quota, the container cannot be started (100m means 0.1, which means 0.1 CPU)',
      lang_form_deploy_container_def_deploy_volumes: 'Container mount volumes settings(deployVolumes)',
      lang_form_deploy_container_def_deploy_volumes_tip_1: 'Which directories or files of the container need to be saved to the shared storage',
      lang_form_deploy_container_def_deploy_volumes_path_in_pod: 'Absolute path in pod(pathInPod)*',
      lang_form_deploy_container_def_deploy_volumes_path_in_pv: 'Relative path in PV(pathInPv)*',
      lang_form_deploy_container_def_deploy_volumes_pvc: 'PVC name to mount(pvc)',
      lang_form_deploy_container_def_deploy_volumes_pvc_tip_1: 'If use default PVC, leave it empty',
      lang_form_deploy_container_def_deploy_health_check: 'Container health check settings(deployHealthCheck)',
      lang_form_deploy_container_def_deploy_health_check_tip_1: 'Check whether the application can provide external services normally. If it not, restart or mark the service as inaccessible',
      lang_form_deploy_container_def_deploy_health_check_select_method: 'Health check method(deployHealthCheckMethod)',
      lang_form_deploy_container_def_deploy_health_check_check_port: 'Get health status by check TCP port(checkPort)',
      lang_form_deploy_container_def_deploy_health_check_exec: 'Execute the command and check the command execution status(exec)*',
      lang_form_deploy_container_def_deploy_health_check_exec_tip_1: 'If the command status is executed successfully, the check is successful',
      lang_form_deploy_container_def_deploy_health_check_http_get: 'Get health status by http get request(httpGet)*',
      lang_form_deploy_container_def_deploy_health_check_http_get_tip_1: 'Access the status code returned by the specified path and port through the http get method. If the status code returns 2XX-3XX, it means the service is normal',
      lang_form_deploy_container_def_deploy_health_check_http_get_tip_2: 'It is recommended that each application develop a separate http-get method to obtain the service health status controller',
      lang_form_deploy_container_def_deploy_health_check_http_get_path: 'HTTP request path(path)',
      lang_form_deploy_container_def_deploy_health_check_http_get_port: 'HTTP port(port)*',
      lang_form_deploy_container_def_deploy_health_check_http_get_scheme: 'HTTP request scheme(scheme)',
      lang_form_deploy_container_def_deploy_health_check_http_get_http_headers: 'HTTP request headers(httpHeaders)',
      lang_form_deploy_container_def_deploy_health_check_http_get_http_headers_name: 'Header name(name)*',
      lang_form_deploy_container_def_deploy_health_check_http_get_http_headers_value: 'Header value(value)*',
      lang_form_deploy_container_def_deploy_health_check_readiness_delay_seconds: 'Readiness delay seconds(readinessDelaySeconds)',
      lang_form_deploy_container_def_deploy_health_check_readiness_delay_seconds_tip_1: 'How long to wait after starting the container before starting the accessibility check in seconds',
      lang_form_deploy_container_def_deploy_health_check_readiness_period_seconds: 'Readiness period seconds(readinessPeriodSeconds)',
      lang_form_deploy_container_def_deploy_health_check_readiness_period_seconds_tip_1: 'How often to perform accessibility checks in seconds',
      lang_form_deploy_container_def_deploy_health_check_liveness_delay_seconds: 'Liveness delay seconds(livenessDelaySeconds)',
      lang_form_deploy_container_def_deploy_health_check_liveness_delay_seconds_tip_1: 'How long to wait after starting the container before starting the service exception check in seconds',
      lang_form_deploy_container_def_deploy_health_check_liveness_period_seconds: 'Liveness period seconds(livenessPeriodSeconds)',
      lang_form_deploy_container_def_deploy_health_check_liveness_period_seconds_tip_1: 'How often to perform service exception check in seconds',
      lang_form_deploy_container_def_deploy_health_check_startup_delay_seconds: 'How long to wait for the container startup status check(startupDelaySeconds)',
      lang_form_deploy_container_def_deploy_health_check_startup_delay_seconds_tip_1: 'The container is in the running state if the check passes, in seconds',
      lang_form_deploy_container_def_deploy_health_check_startup_period_seconds: 'How often to perform a container startup status check(startupPeriodSeconds)',
      lang_form_deploy_container_def_deploy_health_check_startup_period_seconds_tip_1: 'The container is only in the running state if the check passes, in seconds',
      lang_form_deploy_container_def_depend_services: 'Dependent services settings(dependServices)',
      lang_form_deploy_container_def_depend_services_tip_1: 'Before starting the service, must wait for which service to start first. If there are multiple service dependencies, please pay attention to the order',
      lang_form_deploy_container_def_depend_services_depend_name: 'Dependent service address(dependName)*',
      lang_form_deploy_container_def_depend_services_depend_name_tip_1: 'It can be a service name within the cluster, or an ip address or hostname outside the cluster',
      lang_form_deploy_container_def_depend_services_depend_port: 'Dependent serivce port(dependPort)*',
      lang_form_deploy_container_def_depend_services_depend_type: 'Dependent service type(dependType)*',
      lang_form_deploy_container_def_host_aliases: 'Container host aliases settings(hostAliases)',
      lang_form_deploy_container_def_host_aliases_tip_1: 'The ip address and host name or domain name settings in the container are equivalent to setting /etc/hosts in the container',
      lang_form_deploy_container_def_host_aliases_ip: 'IP address(ip)*',
      lang_form_deploy_container_def_host_aliases_hostnames: 'Hostnames(hostnames)*',
      lang_form_deploy_container_def_host_aliases_hostnames_tip_1: 'One ip address supports multiple host names or domain names. Please enter a carriage return for each host name or domain name',
      lang_form_deploy_container_def_security_context: 'Security context settings(securityContext)',
      lang_form_deploy_container_def_security_context_tip_1: 'Do not configure this option if using the default startup user of the container image',
      lang_form_deploy_container_def_security_context_run_as_user: 'User ID to run container(runAsUser)',
      lang_form_deploy_container_def_security_context_run_as_group: 'Group ID to run container(runAsGroup)',
      lang_form_deploy_container_def_deploy_config_settings: 'Copy git repository application configuration files to shared storage in kubernetes cluster settings(deployConfigSettings)',
      lang_form_deploy_container_def_deploy_config_settings_tip_1: 'Note that it only supports copying to the default PVC shared storage',
      lang_form_deploy_container_def_deploy_config_settings_tip_2: 'The pipeline will automatically send all files under the <source configuration files directory> directory to the <target directory> in the kubernetes environment',
      lang_form_deploy_container_def_deploy_config_settings_local_path: 'The relative path of the code directory where the configuration file is located(localPath)*',
      lang_form_deploy_container_def_deploy_config_settings_local_path_tip_1: 'The path cannot start with /',
      lang_form_deploy_container_def_deploy_config_settings_pvc_name: 'Pvc name of shared storage(pvcName)',
      lang_form_deploy_container_def_deploy_config_settings_pvc_name_tip_1: 'Not selected means to use the default shared storage of the project',
      lang_form_deploy_container_def_deploy_config_settings_pod_path: 'The relative path of the shared storage project directory(podPath)*',
      lang_form_deploy_container_def_deploy_config_settings_pod_path_tip_1: 'The path cannot start with /',
      lang_form_deploy_container_def_deploy_config_settings_deploy_config_branch: 'The branch name of the code repository where the configuration file is located(deployConfigBranch)*',
      lang_form_deploy_container_def_deploy_config_maps: 'Save the configuration file in the code as kubernetes configmap(deployConfigMaps)',
      lang_form_deploy_container_def_deploy_config_maps_name: 'configmap name (name)*',
      lang_form_deploy_container_def_deploy_config_maps_name_tip_1: 'Example: {0}-configmap, must start with {0}-',
      lang_form_deploy_container_def_deploy_config_maps_from_file_type: 'Source file type (fromFileType)*',
      lang_form_deploy_container_def_deploy_config_maps_from_file_type_tip_1: 'from_file: from the file, save the entire file to configmap',
      lang_form_deploy_container_def_deploy_config_maps_from_file_type_tip_2: 'from_env_file: comes from the environment variable file, the content format of the environment variable file is "key=value", save the variable name and variable value in the environment variable file to configmap in the form of key-value pairs',
      lang_form_deploy_container_def_deploy_config_maps_paths: 'The relative path of the code directory where the file is located (paths)*',
      lang_form_deploy_container_def_deploy_config_maps_paths_tip_1: 'Support multiple files, you must fill in the file, you cannot fill in the directory, and the path cannot start with /',
      lang_form_deploy_container_def_deploy_secrets: 'Save the configuration file in the code as a secret of kubernetes (deployConfigMaps)',
      lang_form_deploy_container_def_deploy_secrets_name: 'secret name (name)*',
      lang_form_deploy_container_def_deploy_secrets_name_tip_1: 'Example: {0}-secret, must start with {0}-',
      lang_form_deploy_container_def_deploy_secrets_secret_type: 'secret type (secretType)*',
      lang_form_deploy_container_def_deploy_secrets_secret_type_tip_1: 'generic: common key, make the contents of the entire file into a secret',
      lang_form_deploy_container_def_deploy_secrets_secret_type_tip_2: 'docker-registry: Make the content of ~/.docker/config.json into a secret',
      lang_form_deploy_container_def_deploy_secrets_secret_type_tip_3: 'tls: make a secret of tls certificate type',
      lang_form_deploy_container_def_deploy_secrets_from_file_type: 'Source file type (fromFileType)*',
      lang_form_deploy_container_def_deploy_secrets_from_file_type_tip_1: 'from_file: from the file, save the entire file to secret',
      lang_form_deploy_container_def_deploy_secrets_from_file_type_tip_2: 'from_env_file: from the environment variable file, the content format of the environment variable file is "key=value", save the variable name and variable value in the environment variable file to the secret in the form of key-value pairs',
      lang_form_deploy_container_def_deploy_secrets_paths: 'The relative path of the code directory where the file is located (paths)*',
      lang_form_deploy_container_def_deploy_secrets_paths_tip_1: 'Support multiple files, you must fill in the file, you cannot fill in the directory, and the path cannot start with /',
      lang_form_deploy_container_def_deploy_secrets_docker_config: 'The relative path of the code directory where the docker client configuration file is located (dockerConfig)*',
      lang_form_deploy_container_def_deploy_secrets_cert: 'The relative path of the code directory where the tls.crt certificate file is located (cert)*',
      lang_form_deploy_container_def_deploy_secrets_key: 'The relative path of the code directory where the tls.key certificate file is located (key)*',
      lang_form_deploy_container_def_lifecycle: 'Container life cycle event settings(lifecycle)',
      lang_form_deploy_container_def_lifecycle_tip_1: 'When an event in the container life cycle is triggered, execute a specific command setting',
      lang_form_deploy_container_def_lifecycle_post_start: 'The life cycle event settings after the container starts(postStart)',
      lang_form_deploy_container_def_lifecycle_post_start_tip_1: 'When the container starts, execute the command set below',
      lang_form_deploy_container_def_lifecycle_post_start_select_method: 'Execute command method selection(lifecyclePostStartMethod)',
      lang_form_deploy_container_def_lifecycle_pre_stop: 'The life cycle event setting before the container stops(preStop)',
      lang_form_deploy_container_def_lifecycle_pre_stop_tip_1: 'When the container stops, execute the command set below',
      lang_form_deploy_container_def_lifecycle_pre_stop_select_method: 'Execution command method selection(lifecyclePreStopMethod)',
      lang_form_deploy_container_def_lifecycle_exec: 'Execute the command and check the command execution status(exec)*',
      lang_form_deploy_container_def_lifecycle_exec_tip_1: 'If the command status is executed successfully, the check is successful',
      lang_form_deploy_container_def_lifecycle_http_get: 'Execute the http get command and check if it can be connected(httpGet)*',
      lang_form_deploy_container_def_lifecycle_http_get_tip_1: 'Access the status code returned by the specified path and port through the http get method. If the status code returns 2XX-3XX, it means the service is normal',
      lang_form_deploy_container_def_lifecycle_http_get_path: 'The http path of this application(path)',
      lang_form_deploy_container_def_lifecycle_http_get_port: 'The http port of this application(port)*',
      lang_form_deploy_container_def_lifecycle_http_get_scheme: 'requested scheme(scheme)',
      lang_form_deploy_container_def_lifecycle_http_get_http_headers: 'Custom HTTP headers in the request(httpHeaders)',
      lang_form_deploy_container_def_lifecycle_http_get_http_headers_name: 'httpHeader name(name)*',
      lang_form_deploy_container_def_lifecycle_http_get_http_headers_value: 'httpHeader value(value)*',
      lang_form_deploy_container_def_working_dir: 'The working directory setting of the container release module(workingDir)',
      lang_form_deploy_container_def_working_dir_tip_1: 'The default working directory of the container, please fill in the absolute path, which must start with /',
      lang_form_deploy_container_def_node_selector: 'The node selector setting of the container publishing module(nodeSelector)',
      lang_form_deploy_container_def_node_selector_tip_1: 'The container is started on the node with the following label',
      lang_form_deploy_container_def_node_name: 'The startup node setting of the container release module(nodeName)',
      lang_form_deploy_container_def_node_name_tip_1: 'The container is started on the node with the following name',
      lang_form_deploy_container_def_termination_grace_period_seconds: 'The length of time the container waits to stop gracefully(terminationGracePeriodSeconds)',
      lang_form_deploy_container_def_termination_grace_period_seconds_tip_1: 'The length of time to wait for the container to stop gracefully. If this time is exceeded, the operation of killing the container will be executed directly. The unit is seconds, and the default is 30 seconds',
      lang_form_deploy_container_def_subdomain: 'Access the subdomain settings of this pod(subdomain)',
      lang_form_deploy_container_def_subdomain_tip_1: 'If the subdomain name is not set, the pod cannot be accessed through the internal domain name',
      lang_form_deploy_container_def_subdomain_tip_2: 'If a subdomain is set, the pod can be accessed through the internal domain name. The internal full domain name is: <hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>',
      lang_form_deploy_container_def_enable_downward_api: 'Whether to enable downwardAPI (enableDownwardApi)',
      lang_form_deploy_container_def_enable_downward_api_tip_1: 'If the downwardAPI is enabled, the status information of the pod will be exposed as environment variables and files',
      lang_form_deploy_container_def_enable_downward_api_tip_2: 'pod environment variables: K8S_METADATA_NAME, K8S_METADATA_NAMESPACE, K8S_METADATA_UID, K8S_SPEC_SERVICEACCOUNTNAME, K8S_SPEC_NODENAME, K8S_STATUS_HOSTIP, K8S_STATUS_PODIP, K8S_RESOURCE_LIMITS_CPU, K8S_RESOURCE_REQUESTS_CPU, K8S_RESOURCE_LIMITS_MEMORY, K8S_RESOURCE_REQUESTS_MEMORY',
      lang_form_deploy_container_def_enable_downward_api_tip_3: 'Pod labels and annotations information will be stored in the /etc/k8s-pod-meta directory of the pod container',
      lang_form_deploy_container_def_restart_policy: 'Restart Policy (restartPolicy)',
      lang_form_deploy_container_def_restart_policy_always: 'Always: always restart in non-running state (default)',
      lang_form_deploy_container_def_restart_policy_on_failure: 'OnFailure: Restart under abnormal conditions',
      lang_form_deploy_container_def_restart_policy_never: 'Never: Do not restart',
      lang_form_deploy_container_def_job: 'Job settings (job)',
      lang_form_deploy_container_def_job_tip_1: 'It needs to be filled in when deployType is job or cronjob',
      lang_form_deploy_container_def_job_completions: 'How many subtasks are successfully executed to indicate success (completions)*',
      lang_form_deploy_container_def_job_completions_tip_1: 'The default is 1, must be greater than 1',
      lang_form_deploy_container_def_job_parallelism: 'How many subtasks can be executed in parallel (parallelism)*',
      lang_form_deploy_container_def_job_parallelism_tip_1: 'The default is 1, must be greater than 1',
      lang_form_deploy_container_def_job_completion_mode: 'Numbering mode of subtasks (completionMode)',
      lang_form_deploy_container_def_job_completion_mode_tip_1: 'NonIndexed: Subtasks are numbered randomly, subtasks are executed in random order (default)',
      lang_form_deploy_container_def_job_completion_mode_tip_2: 'Indexed: Subtasks are numbered sequentially, and subtasks are executed in the order of numbers',
      lang_form_deploy_container_def_job_backoff_limit: 'How many times a subtask is allowed to fail (backoffLimit)',
      lang_form_deploy_container_def_job_backoff_limit_tip_1: 'The default is not set to 6',
      lang_form_deploy_container_def_job_active_deadline_seconds: 'How long the task is allowed to execute, in seconds (activeDeadlineSeconds)',
      lang_form_deploy_container_def_job_active_deadline_seconds_tip_1: 'The entire task will be automatically ended when the set duration is exceeded',
      lang_form_deploy_container_def_job_active_deadline_seconds_tip_2: 'No setting means unlimited duration',
      lang_form_deploy_container_def_job_ttl_seconds_after_finished: 'How long to automatically delete the subtask container after the task is finished, in seconds (ttlSecondsAfterFinished)',
      lang_form_deploy_container_def_job_ttl_seconds_after_finished_tip_1: 'The subtask container will be automatically deleted after the set time',
      lang_form_deploy_container_def_job_ttl_seconds_after_finished_tip_2: 'No setting means that the container of the subtask is not automatically deleted',
      lang_form_deploy_container_def_cron_job: 'CronJob settings (cronJob)',
      lang_form_deploy_container_def_cron_job_tip_1: 'It needs to be filled in when deployType is cronjob',
      lang_form_deploy_container_def_cron_job_schedule: 'Schedule (schedule)*',
      lang_form_deploy_container_def_cron_job_schedule_tip_1: 'Must follow the crontab format',
      lang_form_deploy_container_def_cron_job_schedule_tip_2: 'Example: */5 5 * * *',
      lang_form_deploy_container_def_cron_job_concurrency_policy: 'How to deal with overlapping tasks created by scheduled tasks (concurrencyPolicy)',
      lang_form_deploy_container_def_cron_job_concurrency_policy_tip_1: 'Allow: Allow concurrent task execution (default)',
      lang_form_deploy_container_def_cron_job_concurrency_policy_tip_2: 'Forbid: Concurrent task execution is not allowed; if the execution time of the new task is up but the old task is not completed, the scheduled task will ignore the execution of the new task',
      lang_form_deploy_container_def_cron_job_concurrency_policy_tip_3: 'Replace: If the execution time of the new task is up but the old task is not finished, the scheduled task will replace the currently running task with the new task',
      lang_form_deploy_container_def_cron_job_starting_deadline_seconds: 'The deadline for the delayed start of the task, in seconds (startingDeadlineSeconds)',
      lang_form_deploy_container_def_cron_job_starting_deadline_seconds_tip_1: 'If the task misses the scheduled time for some reason, the number of seconds of the deadline to start the task',
      lang_form_deploy_container_def_cron_job_starting_deadline_seconds_tip_2: 'Not set means that if the deadline is exceeded, the scheduled task will not start the instance of the task',
      lang_form_deploy_container_def_cron_job_successful_jobs_history_limit: 'How many successful jobs to keep (successfulJobsHistoryLimit)',
      lang_form_deploy_container_def_cron_job_successful_jobs_history_limit_tip_1: 'The default is 3, set to 0 means no reservation',
      lang_form_deploy_container_def_cron_job_failed_jobs_history_limit: 'How many failed jobs to keep (failedJobsHistoryLimit)',
      lang_form_deploy_container_def_cron_job_failed_jobs_history_limit_tip_1: 'The default is 1, set to 0 means no reservation',
      lang_form_deploy_container_def_patches: 'Append additional deployment parameters by patch(patches)',
      lang_form_deploy_container_def_patches_tip_1: 'If the setting parameters in the container deployment definition do not meet the requirements, you can use the patch method to add additional parameters to the container deployment',
      lang_form_deploy_container_def_patches_tip_2: 'Only when the project namespace is in privileged mode, can additional deployment parameters be added through patch',
      lang_form_deploy_container_def_patches_resource_kind: 'The resource type that needs to be patched(resourceKind)*',
      lang_form_deploy_container_def_patches_resource_kind_tip_1: 'The deployment means to patch the deployment or statefulset',
      lang_form_deploy_container_def_patches_path: 'Patch parameter path(path)*',
      lang_form_deploy_container_def_patches_path_tip_1: 'Example: spec.template.spec.containers.0.envFrom',
      lang_form_deploy_container_def_patches_path_tip_2: 'If there is no corresponding deployment parameter under the path, then the deployment parameter setting of the patch path is directly replaced with the patch content',
      lang_form_deploy_container_def_patches_path_tip_3: 'If there is already a corresponding deployment parameter in the path, and the type of the deployment parameter is an array, then the patch content will be added to the deployment parameter of the patch path',
      lang_form_deploy_container_def_patches_path_tip_4: 'If the corresponding deployment parameter already exists in the path, and the type of the deployment parameter is not an array, then the deployment parameter will not be updated',
      lang_form_deploy_container_def_patches_content: 'Patch parameter value(content)*',
      lang_form_deploy_container_def_patches_content_tip_1: 'Support multiple data types: string bool integer float map array',
      lang_form_deploy_container_def_patches_content_tip_2: 'If the data type is map or array, please use yaml format to fill in the parameter value',
      lang_form_deploy_container_def_patches_content_tip_3: 'If the parameter type of the patch path is array, the patch parameter value must also be array',
      lang_form_deploy_container_def_patches_content_tip_4: 'Example:',
      lang_form_deploy_container_def_patches_content_tip_5: '- name: init-myservice',
      lang_form_deploy_container_def_patches_content_tip_6: '  image: busybox:1.28',
      lang_form_deploy_container_def_patches_content_tip_7: '  command: ["sh", "-c", "until nslookup myservice; do echo waiting; sleep 2; done"]',
      lang_form_deploy_artifact_def_deploy_artifact_name: 'Deploy artifact module name(deployArtifactName)*',
      lang_form_deploy_artifact_def_deploy_artifact_name_tip_1: 'Example: {0}-gin-demo, must starts with {0}-',
      lang_form_deploy_artifact_def_related_artifact: 'Related artifact archive module(relatedArtifact)*',
      lang_form_deploy_artifact_def_related_artifact_tip_1: 'Which artifact archive module do the deploy artifact archive come from?',
      lang_form_deploy_artifact_def_hosts: 'Choose the hosts for artifact deployment(hosts)*',
      lang_form_deploy_artifact_def_hosts_tip_1: 'The groups were configrated in the host settings, if there are multiple hosts under the same group, it supports deployment to multiple hosts',
      lang_form_deploy_artifact_def_variables: 'Module deployment variables(variables)',
      lang_form_deploy_artifact_def_variables_tip_1: 'Use the following variables to deploy the module',
      lang_form_deploy_artifact_def_variables_tip_2: 'Variable name example: backup_dir, service_port',
      lang_form_deploy_artifact_def_variables_tip_3: 'Built-in pipeline variables, detail in hosts.ini file, example:',
      lang_form_deploy_artifact_def_variables_tip_4: 'project_name (project name, unique identifier for this project, corresponding to projectName)',
      lang_form_deploy_artifact_def_variables_tip_5: 'module_name (module name, corresponding to deployArtifactName)',
      lang_form_deploy_artifact_def_variables_tip_6: 'pipeline_name (pipeline name, corresponding to pipelineName)',
      lang_form_deploy_artifact_def_variables_tip_7: 'run_name (name of this run, corresponding to runName)',
      lang_form_deploy_artifact_def_variables_tip_8: 'branch_name (branch name, corresponding to branchName)',
      lang_form_deploy_artifact_def_variables_tip_9: 'env_name (the name of this environment, corresponding to envName)',
      lang_form_deploy_artifact_def_variables_tip_10: 'latest_commit (the latest code commit, corresponding to latestCommit)',
      lang_form_deploy_artifact_def_variables_tip_11: 'tag_name (latest tag name, corresponding to tagName)',
      lang_form_deploy_artifact_def_variables_tip_12: 'project_short_name (project short name, corresponding to projectShortName)',
      lang_form_deploy_artifact_def_variables_name: 'Variable name',
      lang_form_deploy_artifact_def_variables_value: 'Variable value',
      lang_form_deploy_artifact_def_tasks: 'The tasks setting of ansible-playbook of the deployment task (tasks)*',
      lang_form_deploy_artifact_def_tasks_tip_1: 'Detailed reference of the task of the playbook: https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html',
      lang_form_deploy_artifact_def_tasks_tip_2: 'Note that the module artifact archive will be automatically downloaded in the current directory with the name <module_name>.tar.gz',
      lang_form_istio_def_deploy_name: 'Deploy container module name to enable mesh(deployName)*',
      lang_form_istio_def_deploy_name_tip_1: 'Example: {0}-gin-demo, must starts with {0}-',
      lang_form_istio_def_port: 'Internal service port(port)*',
      lang_form_istio_def_port_tip_1: 'Deploy container module internal service port to enable to enable mesh',
      lang_form_istio_def_port_tip_2: 'Notice: it must equal to deploy container module internal service port',
      lang_form_istio_def_protocol: 'Internal service protocol(protocol)*',
      lang_form_istio_def_protocol_tip_1: 'Notice: it must equal to deploy container module internal service protocol',
      lang_form_istio_def_http_settings: 'Mesh HTTP settings(httpSettings)',
      lang_form_istio_def_http_settings_match_headers: 'HTTP headers match rules(matchHeaders)',
      lang_form_istio_def_http_settings_match_headers_tip_1: 'If you need to enable AB testing, please set it, when the header conforms to which rules the traffic is switched to the new version',
      lang_form_istio_def_http_settings_match_headers_tip_2: 'For example, when the header contains the user-agent field and the value contains Chrome, switch to the new version of the traffic',
      lang_form_istio_def_http_settings_match_headers_header: 'HTTP header name(header)*',
      lang_form_istio_def_http_settings_match_headers_match_type: 'HTTP header match type(matchType)*',
      lang_form_istio_def_http_settings_match_headers_match_value: 'HTTP header match value(matchValue)*',
      lang_form_istio_def_http_settings_gateway: 'Traffic settings from gateway(gateway)',
      lang_form_istio_def_http_settings_gateway_tip_1: 'If this service needs to be accessed through a domain name outside the cluster, please set it',
      lang_form_istio_def_http_settings_gateway_rewriteUri: 'URI rewrite rules(rewriteUri)',
      lang_form_istio_def_http_settings_gateway_rewriteUri_tip_1: 'Requesting this uri through the domain name will be routed to this service through rewrite',
      lang_form_istio_def_http_settings_gateway_rewriteUri_tip_2: 'When accessing http://<domain name>/<rewriteUri>/xxx, it will be routed to the /xxx uri of this service',
      lang_form_istio_def_http_settings_gateway_match_uris: 'URI matching rules for accessing this service(matchUris)',
      lang_form_istio_def_http_settings_gateway_match_uris_tip_1: 'When the request conforms to this rule, it will be routed to this service',
      lang_form_istio_def_http_settings_gateway_match_uris_tip_2: 'For example, if matchType is exact mode, accessing http://<domain name>/<matchValue> will be routed to the / path of this service',
      lang_form_istio_def_http_settings_gateway_match_uris_tip_3: 'For example, if matchType is prefix mode, accessing http://<domain name>/<matchValue>/xxx will be routed to the /xxx path of this service',
      lang_form_istio_def_http_settings_gateway_match_uris_match_type: 'URI matching type(matchType)*',
      lang_form_istio_def_http_settings_gateway_match_uris_match_value: 'URI matching value(matchValue)*',
      lang_form_istio_def_http_settings_gateway_match_default: 'Is default gateway(matchDefault)',
      lang_form_istio_def_http_settings_gateway_match_default_tip_1: 'If the setting is yes, access to the gateway domain name will be routed to this service by default',
      lang_form_istio_def_http_settings_gateway_match_default_tip_2: 'When the requested URI does not match the rewriteUri and matchUris rules above, it will be routed to this service',
      lang_form_istio_def_http_settings_gateway_match_default_tip_3: 'Note that a project must have and only one service is the default gateway',
      lang_form_istio_def_http_settings_timeout: 'Request timeout settings(timeout)',
      lang_form_istio_def_http_settings_timeout_tip_1: 'Requests exceeding this time will directly return a timeout error',
      lang_form_istio_def_http_settings_timeout_tip_2: 'm means minutes, s means seconds, ms means milliseconds, such as 10ms',
      lang_form_istio_def_http_settings_retries: 'Request retry settings(retries)',
      lang_form_istio_def_http_settings_retries_tip_1: 'Set rules for retry requests',
      lang_form_istio_def_http_settings_retries_retry_on: 'Retry condition(retryOn)*',
      lang_form_istio_def_http_settings_retries_retry_on_tip_1: 'Support following retry conditions',
      lang_form_istio_def_http_settings_retries_retry_on_tip_2: '5xx: Retry if 5XX status code is returned',
      lang_form_istio_def_http_settings_retries_retry_on_tip_3: 'gateway-error: retry with status code 502, 503, 504',
      lang_form_istio_def_http_settings_retries_retry_on_tip_4: 'reset: retry in case of no response',
      lang_form_istio_def_http_settings_retries_retry_on_tip_5: 'connect-failure: retry in case of connection failure',
      lang_form_istio_def_http_settings_retries_retry_on_tip_6: 'refused-stream: Retry if connection is refused',
      lang_form_istio_def_http_settings_retries_attempts: 'Retry attempt times(attempts)*',
      lang_form_istio_def_http_settings_retries_per_try_timeout: 'Each retry timeout settings(perTryTimeout)',
      lang_form_istio_def_http_settings_retries_per_try_timeout_tip_1: 'm means minutes, s means seconds, ms means milliseconds, such as 10ms',
      lang_form_istio_def_http_settings_mirror: 'Traffic mirroring settings(mirror)',
      lang_form_istio_def_http_settings_mirror_tip_1: 'Mirror the traffic requesting this service to other target services',
      lang_form_istio_def_http_settings_mirror_host: 'Target service address(host)*',
      lang_form_istio_def_http_settings_mirror_port: 'Target service port(port)*',
      lang_form_istio_def_http_settings_mirror_subset: 'Target service subset(subset)',
      lang_form_istio_def_http_settings_mirror_mirror_percent: 'Mirror percentage(mirrorPercent)',
      lang_form_istio_def_http_settings_mirror_mirror_percent_tip_1: 'If not set, it means mirroring all traffic',
      lang_form_istio_def_http_settings_cors_policy: 'CORS cross-origin resource sharing policy settings(corsPolicy)',
      lang_form_istio_def_http_settings_cors_policy_allow_origins: 'Allowed source domain name rules(allowOrigins)',
      lang_form_istio_def_http_settings_cors_policy_allow_origins_tip_1: 'exact',
      lang_form_istio_def_http_settings_cors_policy_allow_origins_tip_2: 'prefix',
      lang_form_istio_def_http_settings_cors_policy_allow_origins_tip_3: 'regex',
      lang_form_istio_def_http_settings_cors_policy_allow_origins_match_type: 'Match type',
      lang_form_istio_def_http_settings_cors_policy_allow_origins_match_value: 'Match value',
      lang_form_istio_def_http_settings_cors_policy_allow_methods: 'Allow HTTP methods(allowMethods)',
      lang_form_istio_def_http_settings_cors_policy_allow_credentials: 'Allow to use HTTP credentials(allowCredentials)',
      lang_form_istio_def_http_settings_cors_policy_allow_headers: 'Allow HTTP headers(allowHeaders)',
      lang_form_istio_def_http_settings_cors_policy_allow_headers_tip_1: 'Support multiple HTTP headers, enter a carriage return to separate each header',
      lang_form_istio_def_http_settings_cors_policy_expose_headers: 'Headers that allow external exposure(exposeHeaders)',
      lang_form_istio_def_http_settings_cors_policy_expose_headers_tip_1: 'Support multiple HTTP headers, enter a carriage return to separate each header',
      lang_form_istio_def_http_settings_cors_policy_max_age: 'Max age settings(maxAge)',
      lang_form_istio_def_http_settings_cors_policy_max_age_tip_1: 'h means hours, m means minutes, s means seconds, ms means milliseconds, such as 10ms',
      lang_form_istio_def_http_settings_load_balancer: 'LoadBalancer settings(loadBalancer)',
      lang_form_istio_def_http_settings_load_balancer_simple: 'Simple load balancing algorithm(simple)',
      lang_form_istio_def_http_settings_load_balancer_simple_tip_1: 'ROUND_ROBIN: default algorithm',
      lang_form_istio_def_http_settings_load_balancer_simple_tip_2: 'LEAST_CONN: least connections first',
      lang_form_istio_def_http_settings_load_balancer_simple_tip_3: 'RANDOM: random',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash: 'HASH connection consistent algorithm(consistentHash)',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_tip_1: 'Hash the specific information in the HTTP request, and the traffic with the same hash value will keep connecting to the same backend service',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_header_name: 'HTTP header name(httpHeaderName)',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_header_name_tip_1: 'Hash the HTTP header name',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_cookie: 'HTTP cookie(httpCookie)',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_cookie_tip_1: 'Hash the HTTP cookie',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_cookie_name: 'Cookie name(name)*',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_cookie_path: 'Cookie path(path)',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_cookie_ttl: 'Time to live(ttl)*',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_cookie_ttl_tip_1: 'h means hours, m means minutes, s means seconds, ms means milliseconds, such as 10ms',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_use_source_ip: 'Source IP address(useSourceIp)',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_use_source_ip_tip_1: 'Hash the source IP address',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_query_parameter_name: 'HTTP query parameter name(httpQueryParameterName)',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_query_parameter_name_tip_1: 'Hash HTTP query parameter name',
      lang_form_istio_def_http_settings_connection_pool: 'Connection pool settings(connectionPool)',
      lang_form_istio_def_http_settings_connection_pool_http: 'HTTP connection pool settings(http)',
      lang_form_istio_def_http_settings_connection_pool_http_http1_max_pending_requests: 'HTTP1 max pending requests(http1MaxPendingRequests)',
      lang_form_istio_def_http_settings_connection_pool_http_http2_max_requests: 'HTTP2 max requests(http2MaxRequests)',
      lang_form_istio_def_http_settings_connection_pool_http_max_requests_per_connection: 'Max requests per connection(maxRequestsPerConnection)',
      lang_form_istio_def_http_settings_connection_pool_http_max_retries: 'HTTP max retries(maxRetries)',
      lang_form_istio_def_http_settings_connection_pool_http_idle_timeout: 'Idle timeout(idleTimeout)',
      lang_form_istio_def_http_settings_connection_pool_http_idle_timeout_tip_1: 'h means hours, m means minutes, s means seconds, ms means milliseconds, such as 10ms',
      lang_form_istio_def_http_settings_connection_pool_tcp: 'TCP connection pool settings(tcp)',
      lang_form_istio_def_http_settings_connection_pool_tcp_max_connections: 'TCP max connections(maxConnections)',
      lang_form_istio_def_http_settings_connection_pool_tcp_connect_timeout: 'TCP connect timeout(connectTimeout)',
      lang_form_istio_def_http_settings_connection_pool_tcp_connect_timeout_tip_1: 'h means hours, m means minutes, s means seconds, ms means milliseconds, such as 10ms',
      lang_form_istio_def_http_settings_outlier_detection: 'Outlier detection settings(outlierDetection)',
      lang_form_istio_def_http_settings_outlier_detection_tip_1: 'When the requested target service endpoint is abnormal, set the target service endpoint to be inaccessible until the service endpoint returns to normal',
      lang_form_istio_def_http_settings_outlier_detection_consecutive_gateway_errors: 'Consecutive gateway errors(consecutiveGatewayErrors)',
      lang_form_istio_def_http_settings_outlier_detection_consecutive_gateway_errors_tip_1: 'How many times the error occurs when outlier',
      lang_form_istio_def_http_settings_outlier_detection_consecutive_5xx_errors: 'Consecutive 5xx status code errors(consecutive5xxErrors)',
      lang_form_istio_def_http_settings_outlier_detection_consecutive_5xx_errors_tip_1: 'How many times the error occurs when outlier',
      lang_form_istio_def_http_settings_outlier_detection_interval: 'Outlier detection interval(interval)',
      lang_form_istio_def_http_settings_outlier_detection_interval_tip_1: 'h means hours, m means minutes, s means seconds, ms means milliseconds, such as 10ms',
      lang_form_istio_def_http_settings_outlier_detection_interval_tip_2: 'Default is 10s',
      lang_form_istio_def_http_settings_outlier_detection_base_ejection_time: 'Base ejection time duration(baseEjectionTime)',
      lang_form_istio_def_http_settings_outlier_detection_base_ejection_time_tip_1: 'h means hours, m means minutes, s means seconds, ms means milliseconds, such as 10ms',
      lang_form_istio_def_http_settings_outlier_detection_base_ejection_time_tip_2: 'Default is 30s',
      lang_form_istio_def_http_settings_outlier_detection_max_ejection_percent: 'Max ejection percent(maxEjectionPercent)',
      lang_form_istio_def_http_settings_outlier_detection_max_ejection_percent_tip_1: 'Maximum percentage of target service endpoints to evict',
      lang_form_istio_def_http_settings_outlier_detection_max_ejection_percent_tip_2: 'Default is 10',
      lang_form_istio_def_http_settings_outlier_detection_min_health_percent: 'Min Health percentage(minHealthPercent)',
      lang_form_istio_def_http_settings_outlier_detection_min_health_percent_tip_1: 'Ensure that at least how many percent of the target service endpoints are healthy',
      lang_form_istio_def_tcp_settings: 'TCP mesh settings(tcpSettings)',
      lang_form_istio_def_tcp_settings_source_service_names: 'Source service name(sourceServiceNames)*',
      lang_form_istio_def_tcp_settings_source_service_names_tip_1: 'Which services in the mesh will access this service',
      lang_form_istio_gateway_def_enable: 'Enable service mesh(enable)*',
      lang_form_istio_gateway_def_enable_tip_1: 'If enable service mesh, set all the following parameters',
      lang_form_istio_gateway_def_host_default: 'Default version domain name(hostDefault)',
      lang_form_istio_gateway_def_host_default_tip_1: 'Default version, default traffic for blue-green deploy',
      lang_form_istio_gateway_def_host_new: 'New version domain name(hostNew)',
      lang_form_istio_gateway_def_host_new_tip_1: 'New version, new traffic for blue-green deploy',
      lang_form_istio_gateway_def_source_subset_header: 'HTTP header name to pass through in service mesh(sourceSubsetHeader)',
      lang_form_istio_gateway_def_source_subset_header_tip_1: 'If the grayscale deploy of multiple microservice call chains needs to be enabled, the microservices need to be transformed',
      lang_form_istio_gateway_def_source_subset_header_tip_2: 'For new version service requests, service mesh automatically sets the header value to new',
      lang_form_istio_gateway_def_source_subset_header_tip_3: 'When the microservice is requested, if you want to request other microservices, please pass through this header',
      lang_form_pipeline_def_is_auto_detect_build: 'Enable build modules automatic detection(isAutoDetectBuild)',
      lang_form_pipeline_def_is_auto_detect_build_tip_1: 'If enabled, the pipeline will automatically detect which files in the code path of the build module have changed according to the content of the code submission, and automatically turn on the build switch of the build module',
      lang_form_pipeline_def_is_auto_detect_build_tip_2: 'If enabled, the pipeline ignores the following build switch settings (builds)',
      lang_form_pipeline_def_is_queue: 'Disable parallel execution(isQueue)',
      lang_form_pipeline_def_is_queue_tip_1: 'If enabled, only one run of the pipeline can be executed at the same time, subsequent runs will be executed in the form of a queue waiting for the previous run to complete',
      lang_form_pipeline_def_builds: 'Build module switches(builds)*',
      lang_form_pipeline_def_builds_tip_1: 'Set which build modules need to be built, click to turn on or off',
      lang_form_pipeline_def_builds_tip_2: 'If (isAutoDetectBuild) is enabled, this switches cannot be set',
      lang_form_pipeline_def_pipeline_step: 'Pipeline step settings(pipelineStep)*',
      lang_form_pipeline_def_pipeline_step_tip_1: 'You can enable or disable a pipeline step',
      lang_form_pipeline_def_pipeline_step_timeout: 'Step timeout(timeout)',
      lang_form_pipeline_def_pipeline_step_timeout_tip_1: '0 means unlimited time, unit: second',
      lang_form_pipeline_def_pipeline_step_enable: 'Step enable(enable)',
      lang_form_pipeline_def_pipeline_step_retry: 'Step retry(retry)',
      lang_form_pipeline_def_pipeline_step_retry_tip_1: 'If step execute failed, how many times will retry',
      lang_form_pipeline_def_pipeline_step_passing_rate: 'Test case passing percentage(passingRate)',
      lang_form_pipeline_def_pipeline_step_passing_rate_tip_1: 'The value range is 0-100. Setting 90 means that more than 90% of the test cases pass as normal',
      lang_form_pipeline_def_pipeline_step_ignore_execute_module_names: 'Ignore the executed module name(ignoreExecuteModuleNames)',
      lang_form_pipeline_def_pipeline_step_ignore_execute_module_names_tip_1: 'As long as the module name contains the set string, the execution will be ignored, support multiple setting items, enter the carriage return separation',
      lang_form_pipeline_def_pipeline_step_gate_medium: 'Number of medium vulnerability gates(gateMedium)',
      lang_form_pipeline_def_pipeline_step_gate_medium_tip_1: 'If the number of vulnerabilities exceeds this number, the image scan will fail',
      lang_form_pipeline_def_pipeline_step_gate_high: 'Number of high vulnerability gates(gateHigh)',
      lang_form_pipeline_def_pipeline_step_gate_high_tip_1: 'If the number of vulnerabilities exceeds this number, the image scan will fail',
      lang_form_pipeline_def_pipeline_step_gate_critical: 'Number of critical vulnerability gates(gateCritical)',
      lang_form_pipeline_def_pipeline_step_gate_critical_tip_1: 'If the number of vulnerabilities exceeds this number, the image scan will fail',
      lang_form_pipeline_def_pipeline_step_ignore_error: 'Ignore error(ignoreError)',
      lang_form_pipeline_def_pipeline_step_repeat: 'Check repeat times(repeat)',
      lang_form_pipeline_def_pipeline_step_repeat_tip_1: 'Check repeat times, 0 means use default settings',
      lang_form_pipeline_def_pipeline_step_repeat_interval: 'Check repeat interval(repeatInterval)',
      lang_form_pipeline_def_pipeline_step_repeat_interval_tip_1: '0 means default settings, unit: second',
      lang_form_pipeline_def_pipeline_step_enable_input: 'Manual confirmation is required before step execution (enableInput)',
      lang_form_pipeline_def_pipeline_step_enable_input_tip_1: 'Manual confirmation is required before the step is executed before this step will continue',
      lang_form_pipeline_def_pipeline_step_is_api_only: 'API interface confirmation is required before step execution (isApiOnly)',
      lang_form_pipeline_def_pipeline_step_is_api_only_tip_1: 'Before executing the step, you need to confirm it through the API interface before continuing to execute this step',
      lang_form_pipeline_def_pipeline_step_enable_input_finish: 'Manual confirmation is required after step execution (enableInputFinish)',
      lang_form_pipeline_def_pipeline_step_enable_input_finish_tip_1: 'After the step is executed, manual confirmation is required before subsequent steps will continue',
      lang_form_pipeline_def_pipeline_step_is_api_only_finish: 'API interface confirmation is required after step execution (isApiOnlyFinish)',
      lang_form_pipeline_def_pipeline_step_is_api_only_finish_tip_1: 'After the step is executed, it needs to be confirmed through the API interface before continuing to execute subsequent steps',
      lang_form_pipeline_def_pipeline_step_force_replace: 'Force to replace resources(forceReplace)',
      lang_form_pipeline_def_pipeline_step_force_replace_tip_1: 'Whether it is mandatory to delete resources before applying resources when executing kubectl apply',
      lang_form_pipeline_def_pipeline_step_archive: 'Archive in artifact repository(archive)',
      lang_form_pipeline_def_pipeline_step_archive_tip_1: 'Archive all created deployment files in project artifact repository',
      lang_form_pipeline_def_pipeline_step_try: 'Try only(try)',
      lang_form_pipeline_def_pipeline_step_try_tip_1: 'Just verify the deployment settings only, do not deploy',
      lang_form_pipeline_def_pipeline_step_select_tag: 'Select tag for subsequent integration(selectTag)',
      lang_form_pipeline_def_pipeline_step_select_tag_tip_1: 'Do you need to switch to a specific tag under this code branch for subsequent integration',
      lang_form_pipeline_def_pipeline_step_step_action: 'Step action(stepAction)',
      lang_form_pipeline_def_pipeline_step_git_pull: 'Git pull',
      lang_form_pipeline_def_pipeline_step_get_run_settings: 'Get run settings',
      lang_form_pipeline_def_pipeline_step_build: 'Build source code',
      lang_form_pipeline_def_pipeline_step_scan_code: 'Scan code',
      lang_form_pipeline_def_pipeline_step_package_image: 'Package and push image',
      lang_form_pipeline_def_pipeline_step_scan_image: 'Scan image',
      lang_form_pipeline_def_pipeline_step_artifact: 'Artifact archive and push',
      lang_form_pipeline_def_pipeline_step_sync_image: 'Sync image from production env to testing env',
      lang_form_pipeline_def_pipeline_step_deploy: 'Deploy container to k8s',
      lang_form_pipeline_def_pipeline_step_apply_ingress: 'Deploy ingress',
      lang_form_pipeline_def_pipeline_step_apply_mesh: 'Deploy service mesh',
      lang_form_pipeline_def_pipeline_step_check_deploy: 'Check container status',
      lang_form_pipeline_def_pipeline_step_check_quota: 'Check k8s resource quota',
      lang_form_pipeline_def_pipeline_step_deploy_artifact: 'Deploy artifact to hosts',
      lang_form_pipeline_def_pipeline_step_test_api: 'API testing',
      lang_form_pipeline_def_pipeline_step_test_performance: 'Performance testing',
      lang_form_pipeline_def_pipeline_step_test_webui: 'WebUI testing',
      lang_form_pipeline_def_pipeline_step_input: 'Waiting input',
      lang_form_pipeline_def_insert_custom_steps: 'Please select custom steps to insert',
      lang_form_pipeline_def_select_custom_steps: 'Please select custom steps',
      lang_form_custom_step_def_custom_step_name: 'Custom step name(customStepName)*',
      lang_form_custom_step_def_enable_mode: 'Custom step enable mode(enableMode)*',
      lang_form_custom_step_def_enable_mode_tip_1: 'In manual mode, manualEnable must be set to indicate whether to enable this module',
      lang_form_custom_step_def_enable_mode_tip_2: 'Selecting another mode means that this custom step module is enabled when the corresponding built-in module is set to be enabled. In automatic mode, relatedStepModules must be set. Support to associate multiple modules, if any associated module is enabled, then this module is enabled',
      lang_form_custom_step_def_custom_step_module_defs: 'Custom step modules settings(customStepModuleDefs)*',
      lang_form_custom_step_def_custom_step_module_defs_module_name: 'Module name(moduleName)*',
      lang_form_custom_step_def_custom_step_module_defs_module_name_tip_1: 'Example: {0}-gin-demo, must starts with {0}-',
      lang_form_custom_step_def_custom_step_module_defs_related_step_modules: 'Related step modules(relatedStepModules)*',
      lang_form_custom_step_def_custom_step_module_defs_related_step_modules_tip_1: 'Support to associate multiple modules, if any associated module is enabled, then this module is enabled',
      lang_form_custom_step_def_custom_step_module_defs_manual_enable: 'Manual enable mode(manualEnable)*',
      lang_form_custom_step_def_custom_step_module_defs_manual_enable_tip_1: 'Manually set whether this module is enabled',
      lang_form_custom_step_def_custom_step_module_defs_param_input_yaml: 'Module input parameters, YAML format(paramInputYaml)',
      lang_form_custom_step_def_custom_step_module_defs_param_input_yaml_tip_1: 'Input parameter settings and parameter description information of custom steps, use yaml format',
      lang_form_custom_step_def_custom_step_module_defs_param_input_yaml_tip_2: 'Set the step execution parameters specific to this module',
      lang_form_custom_step_def_custom_step_module_defs_param_input_yaml_tip_3: 'The input parameter will be mounted to the {0}.json or .yaml file in the execution container in the form of a file. The step execution container can read the input parameter and perform corresponding step processing.',
      lang_form_custom_step_def_custom_step_module_defs_check_var_to_ignore: 'Ignore step execution by pipeline variables (checkVarToIgnore)',
      lang_form_custom_step_def_custom_step_module_defs_check_var_to_ignore_tip_1: 'This custom step is only valid when enabled',
      lang_form_custom_step_def_custom_step_module_defs_check_var_to_ignore_tip_2: 'Support pipeline variables, when the go template parsing result of pipeline variables is `true`, this custom step will not be executed',
      lang_form_custom_step_def_custom_step_module_defs_check_var_to_ignore_tip_3: 'Empty means not to ignore step execution',
      lang_form_custom_step_def_custom_step_module_defs_check_var_to_ignore_tip_4: 'For example: << if eq (where . `previousSteps.#(stepAction=="scanImage")(moduleName=="tp1-gin-demo").result` `string`) "FAIL" >>true<< end >>. << and >> please replace with double curly braces',
      lang_form_custom_ops_def_custom_ops_name: 'Custom OPS operation name(customOpsName)*',
      lang_form_custom_ops_def_custom_ops_name_tip_1: 'Example: {0}-run-all-test, must starts with {0}-',
      lang_form_custom_ops_def_custom_ops_desc: 'Custom OPS operation explanation(customOpsDesc)*',
      lang_form_custom_ops_def_custom_ops_desc_tip_1: 'OPS operation explanation',
      lang_form_custom_ops_def_custom_ops_desc_tip_2: 'OPS operation explanation show in the operation selection menu of the OPS pipeline',
      lang_form_custom_ops_def_custom_ops_desc_tip_3: 'For example: run all automatic testings',
      lang_form_custom_ops_def_custom_ops_steps: 'OPS operation settings(customOpsSteps)*',
      lang_form_custom_ops_def_custom_ops_steps_tip_1: 'Note the order of steps in operation',
      lang_form_ops_batch_def_ops_batch_name: 'Custom OPS batch name(opsBatchName)*',
      lang_form_ops_batch_def_ops_batch_name_tip_1: 'Format example: {0}-run-all-test, must start with {0}-',
      lang_form_ops_batch_def_ops_batch_desc: 'OPS batch description(opsBatchDesc)*',
      lang_form_ops_batch_def_ops_batch_desc_tip_1: 'You can fill in the OPS batch description in Chinese',
      lang_form_ops_batch_def_batches: 'The batch commands automatically input by the OPS pipeline(batches)*',
      lang_form_ops_batch_def_batches_tip_1: 'Please pay attention to the input order of batch commands',
      lang_form_apply_title: 'Apply title(title)*',
      lang_form_apply_title_tip_1: 'Please input apply title',
      lang_form_apply_content: 'Apply content(content)*',
      lang_form_apply_content_tip_1: 'Please input apply content and clearly describe the reason for the application',
      lang_form_apply_attachments: 'Apply attachments(attachments)',
      lang_form_apply_attachments_tip_1: 'Attachments for the application',
      lang_form_new_project: 'Create new project',
      lang_form_new_project_prompt: 'After the creation is successful, the corresponding code repository, image repository, artifact repository, code scanning repository and the kubernetes namespace will be automatically created',
      lang_form_new_project_project_name: 'Project name(projectName)*',
      lang_form_new_project_project_name_tip_1: 'The unique ID of the project, which cannot be modified after creation. Example: test-project1',
      lang_form_new_project_project_desc: 'Project full name(projectDesc)*',
      lang_form_new_project_project_desc_tip_1: 'Example: TEST-PROJECT1',
      lang_form_new_project_project_namespace: 'Project Namespace(projectNamespace)',
      lang_form_new_project_project_namespace_tip_1: 'If you select an existing project namespace, it means that the application of the project can be published in the existing kubernetes namespace',
      lang_form_new_project_project_namespace_auto_create: 'Automatically create a project kubernetes namespace',
      lang_form_new_project_project_short_name: 'Project short name(projectShortName)*',
      lang_form_new_project_project_short_name_tip_1: 'All deployment modules of the project in kubernetes must contain the project abbreviation as a prefix, which cannot be modified after creation. Lowercase English or numbers. Example: tp1',
      lang_form_new_project_project_team: 'Project team name(projectTeam)*',
      lang_form_new_project_project_team_tip_1: 'Project team, used for metric statistics. Example: TP',
      lang_form_new_project_tenant_code: 'Tenant Code (tenantCode)',
      lang_form_new_project_tenant_code_tip_1: 'Set the project to belong to a tenant, the tenant administrator will have the management authority of the project',
      lang_form_new_project_project_arch: 'Project application cpu architecture(projectArch)*',
      lang_form_new_project_project_arch_tip_1: 'The cpu architecture of the construction, packaging and running environment of the project application',
      lang_form_new_project_git_repo_type: 'Code repository connection type (gitRepoType)*',
      lang_form_new_project_git_repo_type_internal_create: 'Create demo project code in the code repository that under management (recommended)',
      lang_form_new_project_git_repo_type_internal_create_tip_1: 'Automatically create demo project code in the code repository that under management, automatically create default branches and pipeline trigger webhook',
      lang_form_new_project_git_repo_type_internal_exist: 'The project code is already in the code repository that under management',
      lang_form_new_project_git_repo_type_internal_exist_tip_1: 'The project code is already in the code repository that under management, automatically create default branches and pipeline trigger webhook',
      lang_form_new_project_git_repo_type_github_create: 'Create demo project code in Github.com',
      lang_form_new_project_git_repo_type_github_create_tip_1: 'Automatically create demo project code in Github.com, automatically create default branch and pipeline trigger webhook (DORY can access Github.com, and DORY service needs to be able to be accessed on the Internet)',
      lang_form_new_project_git_repo_type_github_exist: 'The project code is already in Github.com',
      lang_form_new_project_git_repo_type_github_exist_tip_1: 'The project code is already in Github.com, automatically create default branch and pipeline trigger webhook (DORY can access Github.com, and DORY service needs to be able to be accessed on the Internet)',
      lang_form_new_project_git_repo_type_gitee_create: 'Create demo project code in Gitee.com',
      lang_form_new_project_git_repo_type_gitee_create_tip_1: 'Automatically create demo project code in Gitee.com, automatically create default branch and pipeline trigger webhook (DORY can access Gitee.com, and DORY service needs to be able to be accessed on the Internet)',
      lang_form_new_project_git_repo_type_gitee_exist: 'The project code is already in Gitee.com',
      lang_form_new_project_git_repo_type_gitee_exist_tip_1: 'The project code is already in Gitee.com, automatically create default branch and pipeline trigger webhook (DORY can access Gitee.com, and DORY service needs to be able to be accessed on the Internet)',
      lang_form_new_project_git_repo_type_external_exist: 'The project code is already in another Git repository',
      lang_form_new_project_git_repo_type_external_exist_tip_1: 'The project code is already in other Git repositories, default branches are automatically created, and the automatic configuration pipeline is not supported to trigger webhook',
      lang_form_new_project_git_repo_dir_build_settings_dir: 'Build dependency pull configuration directory (buildSettingsDir)*',
      lang_form_new_project_git_repo_dir_database_scripts_dir: 'Database scripts directory (databaseScriptsDir)*',
      lang_form_new_project_git_repo_dir_demo_codes_dir: 'Demo code directory (demoCodesDir)*',
      lang_form_new_project_git_repo_dir_deploy_scripts_dir: 'Host deployment script directory (deployScriptsDir)*',
      lang_form_new_project_git_repo_dir_documents_dir: 'Demo document directory (documentsDir)*',
      lang_form_new_project_git_repo_dir_test_scripts_dir: 'Automated test script directory (testScriptsDir)*',      
      lang_form_new_project_git_repo_name: 'Code repository name(gitRepoName)*',
      lang_form_new_project_git_repo_name_tip_1: 'Please choose which code repository to automatically create the project configuration. Once created, it cannot be modified. Currently, two kinds of code repositories are supported: "gitlab" and "gitea"',
      lang_form_new_project_git_repo_path: 'Project code relative path (gitRepoPath)*',
      lang_form_new_project_git_repo_path_tip_1: 'The relative path of the project code in the code repository, for example: project_group/project_name. Once created, can not modify',
      lang_form_new_project_git_repo_url: 'The full path of the project code repository(gitRepoUrl)*',
      lang_form_new_project_git_repo_url_tip_1: 'Example: https://example.com/project_group/project_name.git. Once created, can not modify',
      lang_form_new_project_git_repo_source_branch: 'Source branch name (gitRepoSourceBranch)*',
      lang_form_new_project_git_repo_source_branch_tip_1: 'The default branch of the pipeline will be automatically created. The default branch of the pipeline comes from which existing branch of the current code repository. Once created, can not modify',
      lang_form_new_project_git_repo_user: 'The user who connects to the code repository(gitRepoUser)',
      lang_form_new_project_git_repo_user_tip_1: 'The user who connects to the code repository',
      lang_form_new_project_git_repo_token: 'accessToken for connecting to the code repository API(gitRepoToken)',
      lang_form_new_project_git_repo_token_tip_1: 'accessToken for accessing the code repository API',
      lang_form_new_project_git_repo_password: 'User password for connecting to the code repository(gitRepoPassword)',
      lang_form_new_project_git_repo_password_tip_1: 'User password for connecting to the code repository',
      lang_form_new_project_enable_artifact_repo_proxy: 'Whether to enable the dependency pull proxy function (enableArtifactRepoProxy)*',
      lang_form_new_project_enable_artifact_repo_proxy_tip_1: 'When creating the project and automatically create the demo project code, the source code automatically sets the dependency pull configuration, and enables the dependency and product repository as the dependency pull proxy during the code building process',
      lang_form_new_project_create_demo_on_exist_git_repo: 'Whether to create the demo project code in the existing code repository (createDemoOnExistGitRepo)*',
      lang_form_new_project_create_demo_on_exist_git_repo_tip_1: 'Create the code of the demo project in the existing code repository, and also automatically create all the configurations of the demo project. It is recommended to check',
      lang_form_new_project_privileged: 'Whether to enable privileged mode(privileged)*',
      lang_form_new_project_privileged_tip_1: 'After the privileged mode is enabled, the user can set additional container deployment parameters in the container deployment definition, and the docker service is also supported in the SSH debugging container (note that the privileged mode is enabled, and the administrator authority of the kubernetes environment node can be obtained through the privileged mode , please enable with caution)',
      lang_form_new_project_image_repo_name: 'Image repository name(imageRepoName)*',
      lang_form_new_project_image_repo_name_tip_1: 'Please select which image registry to push the projects container image to. For the internal harbor image registry, the repository configuration of the project will be automatically created. Once opened, it cannot be modified',
      lang_form_new_project_image_repo_name_use_external_image_repo: 'Use external image repository',
      lang_form_new_project_image_repo_host_name: 'Image repository host name (imageRepoHostName)',
      lang_form_new_project_image_repo_host_name_tip_1: 'The host name of the external image repository. For example, the format is: docker.io, or your-host-name:5000.',
      lang_form_new_project_image_repo_group_name: 'Image repository group name (imageRepoGroupName)',
      lang_form_new_project_image_repo_group_name_tip_1: 'Which group in the image registry should the image be pushed to? If docker.io is used and the group name is doryengine, then the image will be pushed to the group docker.io/doryengine. For example, the format is: group_name',
      lang_form_new_project_image_repo_user_name: 'Image repository user name (imageRepoUserName)',
      lang_form_new_project_image_repo_user_name_tip_1: 'Please ensure that the user has image push permission',
      lang_form_new_project_image_repo_password: 'Image repository password (imageRepoPassword)',
      lang_form_new_project_image_repo_password_tip_1: 'Please ensure that the user has image push permission',
      lang_form_new_project_artifact_repo_type: 'Artifact repository connection method (artifactRepoType)*',
      lang_form_new_project_artifact_repo_type_artifact_repo: 'Upload products to the taken over artifact repository (recommended)',
      lang_form_new_project_artifact_repo_type_internal: 'The artifacts are saved in DORY built-in artifact repository',
      lang_form_new_project_artifact_repo_type_http: 'Artifacts are uploaded to the external artifact repository through http',
      lang_form_new_project_artifact_repo_type_ftp: 'Artifacts are uploaded to the ftp server through ftp client',
      lang_form_new_project_artifact_repo_type_sftp: 'Artifacts are uploaded to the sftp server through sftp client',
      lang_form_new_project_artifact_repo_name: 'Artifact repository(artifactRepoName)*',
      lang_form_new_project_artifact_repo_name_tip_1: 'Please choose which artifact repository to automatically create the project configuration. Once created, it cannot be modified. Currently, supported artifact repositories is "nexus”',
      lang_form_new_project_artifact_repo_host_name: 'Hostname of the artifact repository (artifactRepoHostName)',
      lang_form_new_project_artifact_repo_host_name_tip_1: 'Can be IP address or domain name, for example: 192.168.0.1 / example.com',
      lang_form_new_project_artifact_repo_port: 'Port of the artifact repository (artifactRepoPort)',
      lang_form_new_project_artifact_repo_path: 'Path of the artifact repository (artifactRepoPath)',
      lang_form_new_project_artifact_repo_path_tip_1: 'Must start with /, for example: /tmp',
      lang_form_new_project_artifact_repo_user_name: 'Connection username to the product repository (artifactRepoUserName)',
      lang_form_new_project_artifact_repo_password: 'Password of the product repository (artifactRepoPassword)',
      lang_form_new_project_artifact_repo_http_url_tip_1: 'URL supports the artifact name variable artifactName, for example: http://example.com/upload/<< $.artifactName >>, please replace << and >> with double curly brackets',
      lang_form_new_project_artifact_repo_http_upload_url: 'http upload artifact URL (artifactRepoHttpUpload.url)',
      lang_form_new_project_artifact_repo_http_upload_method: 'http upload artifact method (artifactRepoHttpUpload.method)',
      lang_form_new_project_artifact_repo_http_upload_insecure: 'Whether to enable insecure connection (artifactRepoHttpUpload.insecure)',      
      lang_form_new_project_artifact_repo_http_download_url: 'http download artifact URL (artifactRepoHttpDownload.url)',
      lang_form_new_project_artifact_repo_http_download_insecure: 'Whether to enable insecure connection (artifactRepoHttpDownload.insecure)',      
      lang_form_new_project_scan_code_repo_name: 'Scan code repository name(scanCodeRepoName)',
      lang_form_new_project_scan_code_repo_name_tip_1: 'Please choose which scan code repository to automatically create the project configuration. Once created, it cannot be modified. Currently, supported scan code repositories is “sonarqube”. If not selected, the code scanning function is not enabled.',
      lang_form_new_project_env_name: 'Enviorment name(envName)*',
      lang_form_new_project_env_name_tip_1: 'Please select which kubernetes environment the project creates the default pipeline to deploy to',
      lang_form_new_project_default_pv: 'Default persistent volume(defaultPv)*',
      lang_form_new_project_default_pv_tip_1: 'Select the default persistent volume PV for all applications of the project. If you choose automatic allocation, you will use the pvSettings settings of the kubernetes environment to automatically allocate a PV as the default persistent volume for the project',
      lang_form_new_project_default_pv_auto_alloc: 'Automatic allocation',
      lang_form_update_project_leave_it_empty: ' (Empty means no modification)',
      lang_form_new_user: 'Create new user',
      lang_form_new_user_prompt: 'Create an account in the openldap account center',
      lang_form_new_user_username: 'Username(username)*',
      lang_form_new_user_username_tip_1: "The user's login account name must be filled in correctly and cannot be modified after creation. Example: test-user01 or xx1-xx2-user01",
      lang_form_new_user_name: 'User display name(name)*',
      lang_form_new_user_name_tip_1: 'Example: TEST-USER01 or XX1-XX2-USER01',
      lang_form_new_user_mail: 'User mail(mail)*',
      lang_form_new_user_mail_tip_1: 'Used to login or receive password reset emails',
      lang_form_new_user_mobile: 'User mobile(mobile)*',
      lang_form_new_user_mobile_tip_1: 'Example: 13812341234',
      lang_form_new_project_node_ports: 'Assign new node ports range',
      lang_form_new_project_node_ports_prompt: 'After assign new node ports range for the project, project services can be published using the new node port range',
      lang_form_new_project_node_ports_tip_1: 'Are you sure assign new node ports range for project {0} env {1}?',
      lang_form_delete_project_node_ports: 'Remove node ports range',
      lang_form_delete_project_node_ports_prompt: 'After remove node ports range from the project, project services can not be published using this node port range',
      lang_form_delete_project_node_ports_tip_1: 'Are you sure remove node ports range {2} from project {0} env {0}?',
      lang_form_delete_project_envs_select: 'Please select env remove mode*',
      lang_form_delete_project_envs: 'Remove env from project',
      lang_form_delete_project_envs_prompt: 'After remove env from project, project modules can not deploy to this env',
      lang_form_delete_project_envs_tip_1: 'Are you sure remove env {1} from project {0}?',
      lang_form_delete_project_envs_all: 'Remove env from project and clear kubernetes namespace',
      lang_form_delete_project_envs_all_prompt: 'After remove env from project and clear kubernetes namespace, project modules can not deploy to this env, and the project namespace will delete from this kubernetes environment',
      lang_form_delete_project_envs_all_tip_1: 'Are you sure remove env {1} from project {0} and clear kubernetes namespace?',
      lang_form_new_project_envs: 'Assign new envs for project',
      lang_form_new_project_envs_prompt: 'After assign new envs for project, it will create project namespace in these kubernetes envs, lately project pipeline can deploy modules to these envs',
      lang_form_new_project_envs_tip_1: 'Are you sure assing new envs {0} for project?',
      lang_form_new_project_envs_env_names: 'Please select new envs for assigned(envNames)*',
      lang_form_update_project: 'Update project info',
      lang_form_dangerous_operation: 'Dangerous operation',
      lang_form_delete_project: 'Delete project',
      lang_form_delete_project_prompt: 'After delete project, all project pipeline configurations and pipeline run records will be deleted',
      lang_form_delete_project_tip_1: 'Are you sure delete project {0}?',
      lang_form_delete_project_git_repo_delete: 'Are you sure delete project git repository?(gitRepoDelete)',
      lang_form_delete_project_scan_code_repo_delete: 'Are you sure delete project scan code repository?(scanCodeRepoDelete)',
      lang_form_delete_project_image_repo_delete: 'Are you sure delete project image repository?(imageRepoDelete)',
      lang_form_delete_project_artifact_repo_delete: 'Are you sure delete project artifact repository?(artifactRepoDelete)',
      lang_form_delete_project_namespace_delete: 'Are you sure delete project kubernetes namespace?(namespaceDelete)',
      lang_form_refresh_all_token: 'Refresh all token',
      lang_form_refresh_all_token_prompt: 'It will refresh project container image repository password, artifact repository password, scan code repository password and token, and project available kubernetes environments secret token',
      lang_form_refresh_all_token_tip_1: 'Are you sure refresh project {0} all token?',
      lang_form_refresh_all_token_harbor_password: 'Image repository password(harborPassword)',
      lang_form_refresh_all_token_nexus_password: 'Artifact repository password(nexusPassword)',
      lang_form_refresh_all_token_sonar_password: 'Scan code repository password(sonarPassword)',
      lang_form_refresh_all_token_password_tip_1: 'Leave it empty to use random password. The length of the password cannot be less than 8 characters, and must contain uppercase and lowercase English numbers and special characters',
      lang_form_re_apply_kubernetes: 'Reapply project configuration to all available kubernetes environments',
      lang_form_re_apply_kubernetes_prompt: 'If the resources created in kubernetes are deleted or modified by mistake, these kubernetes resources can be automatically recreated by re-applying',
      lang_form_re_apply_kubernetes_tip_1: 'Are you sure you want to reapply project {0} configuration to all available kubernetes environments?',
      lang_form_assign_permissions: 'Assign project permission',
      lang_form_assign_permissions_prompt: 'Assgin project permission for user {0}',
      lang_form_assign_permissions_access_level: 'Project access level(accessLevel)*',
      lang_form_assign_permissions_access_level_tip_1: 'runner: has permission to  execute pipeline',
      lang_form_assign_permissions_access_level_tip_2: 'developer: has permission to  execute pipeline, and set project definition',
      lang_form_assign_permissions_access_level_tip_3: 'maintainer: has permission to  execute pipeline, and set project definition, and change project settings through project console',
      lang_form_change_permissions: 'Change project permission',
      lang_form_change_permissions_prompt: 'Change user {0} project {1} permission',
      lang_form_delete_permissions: 'Delete permission',
      lang_form_delete_permissions_prompt: 'Delete user {0} project {1} permission',
      lang_form_new_pipeline: 'Create new pipeline',
      lang_form_new_pipeline_prompt: 'Create new pipeline for project {0} will automatically create a corresponding branch in the project code repository, and the modules of this branch will be deployed to the environment set by the pipeline',
      lang_form_new_pipeline_branch_name: 'Branch name(branchName)*',
      lang_form_new_pipeline_branch_name_tip_1: 'The branch of the code repository corresponding to the pipeline will create a new branch from the source branch, with lowercase English or numbers or underline. Example: release or release_01',
      lang_form_new_pipeline_source_branch: 'Source branch name(sourceBranch)*',
      lang_form_new_pipeline_source_branch_tip_1: 'Create a new branch from the source branch',
      lang_form_new_pipeline_envs: 'Testing environments(envs)*',
      lang_form_new_pipeline_envs_tip_1: 'Please select the testing environments deployed by the pipeline, and the testing environments can perform automated testing. Serial deployed in order in case of multiple testing environments',
      lang_form_new_pipeline_env_productions: 'Production environments(envProductions)',
      lang_form_new_pipeline_env_productions_tip_1: 'Please select the production environments deployed by the pipeline, and the production environments do not perform automated testing. Serial deployed in order in case of multiple production environments',
      lang_form_new_pipeline_webhook_push_event: 'Execute pipeline when git push(webhookPushEvent)*',
      lang_form_new_pipeline_webhook_push_event_tip_1: 'The pipeline is triggered to execute when git push to code repository',
      lang_form_delete_pipeline: 'Delete pipeline',
      lang_form_delete_pipeline_prompt: 'Deleting a pipeline will clear all run records of the pipeline',
      lang_form_delete_pipeline_branch_name: 'Please input branch name(branchName)*',
      lang_form_delete_pipeline_branch_name_tip_1: 'Are you sure delete pipeline {0}?',
      lang_form_assign_pipeline_envs: 'Assign new env for pipeline',
      lang_form_assign_pipeline_envs_prompt: 'Make pipeline {0} can deploy modules to the env',
      lang_form_assign_pipeline_envs_env_name: 'Env name(envName)*',
      lang_form_assign_pipeline_envs_env_name_tip_1: 'Please select env for pipeline',
      lang_form_assign_pipeline_envs_is_production_env: 'Env type(isProductionEnv)*',
      lang_form_assign_pipeline_envs_is_production_env_tip_1: 'Choose which environment type the new environment is in the pipeline',
      lang_form_update_pipeline_token: 'Refresh pipeline token',
      lang_form_update_pipeline_token_prompt: 'The pipeline token is used to automatically trigger the push event of the code repository, and refresh the pipeline token will also automatically update the webhook of the code repository',
      lang_form_update_pipeline_token_tip_1: 'Are you sure refresh pipeline {0} token?',
      lang_form_delete_pipeline_envs: 'Remove env from pipeline',
      lang_form_delete_pipeline_envs_prompt: 'After Remove env from pipeline, the pipeline can not deploy modules to this env any more',
      lang_form_delete_pipeline_envs_tip_1: 'Are you sure remove env {0} from pipeline {1}?',
      lang_form_add_pipeline_crontab: 'Create pipeline crontab',
      lang_form_add_pipeline_crontab_prompt: 'Periodically execute pipeline {0} according to the crontab settings',
      lang_form_add_pipeline_crontab_crontab_week: 'Crontab execute week day(crontabWeek)*',
      lang_form_add_pipeline_crontab_crontab_week_tip_1: 'Execute crontab on the day of the week',
      lang_form_add_pipeline_crontab_crontab_week_unlimited: 'Any day of the week',
      lang_form_add_pipeline_crontab_crontab_week_0: 'Sunday',
      lang_form_add_pipeline_crontab_crontab_week_1: 'Monday',
      lang_form_add_pipeline_crontab_crontab_week_2: 'Tuesday',
      lang_form_add_pipeline_crontab_crontab_week_3: 'Wednesday',
      lang_form_add_pipeline_crontab_crontab_week_4: 'Thursday',
      lang_form_add_pipeline_crontab_crontab_week_5: 'Friday',
      lang_form_add_pipeline_crontab_crontab_week_6: 'Saturday',
      lang_form_add_pipeline_crontab_crontab_month: 'Crontab execute month(crontabMonth)*',
      lang_form_add_pipeline_crontab_crontab_month_tip_1: 'Execute crontab on month of the year',
      lang_form_add_pipeline_crontab_crontab_month_unlimited: 'Any month of the year',
      lang_form_add_pipeline_crontab_crontab_month_1: 'January',
      lang_form_add_pipeline_crontab_crontab_month_2: 'February',
      lang_form_add_pipeline_crontab_crontab_month_3: 'March',
      lang_form_add_pipeline_crontab_crontab_month_4: 'April',
      lang_form_add_pipeline_crontab_crontab_month_5: 'May',
      lang_form_add_pipeline_crontab_crontab_month_6: 'June',
      lang_form_add_pipeline_crontab_crontab_month_7: 'July',
      lang_form_add_pipeline_crontab_crontab_month_8: 'August',
      lang_form_add_pipeline_crontab_crontab_month_9: 'September',
      lang_form_add_pipeline_crontab_crontab_month_10: 'October',
      lang_form_add_pipeline_crontab_crontab_month_11: 'November',
      lang_form_add_pipeline_crontab_crontab_month_12: 'December',
      lang_form_add_pipeline_crontab_crontab_day: 'Crontab execute day(crontabDay)*',
      lang_form_add_pipeline_crontab_crontab_day_tip_1: 'Execute crontab on day of the month',
      lang_form_add_pipeline_crontab_crontab_day_unlimited: 'Any day of the month',
      lang_form_add_pipeline_crontab_crontab_hour: 'Crontab execute hour(crontabHour)*',
      lang_form_add_pipeline_crontab_crontab_hour_tip_1: 'Execute crontab in hour of the day',
      lang_form_add_pipeline_crontab_crontab_hour_unlimited: 'Any hour of the day',
      lang_form_add_pipeline_crontab_crontab_minute: 'Crontab execute minute(crontabMinute)*',
      lang_form_add_pipeline_crontab_crontab_minute_tip_1: 'Execute crontab in minute of the hour',
      lang_form_add_pipeline_crontab_crontab_minute_unlimited: 'Any minute of the hour',
      lang_form_delete_pipeline_crontab: 'Delete pipeline crontab',
      lang_form_delete_pipeline_crontab_prompt: 'After the pipeline crontab is deleted, the pipeline will not automatically execute periodically',
      lang_form_delete_pipeline_crontab_tip_1: 'Are you sure delete pipeline {0} crontab {1}?',
      lang_form_add_pipeline_trigger: 'Create pipeline trigger',
      lang_form_add_pipeline_trigger_pipeline_variables_desc: 'Pipeline variables explanation',
      lang_form_add_pipeline_trigger_prompt: 'This trigger fires before or after a specific step is executed in the pipeline. Triggers support three triggering methods: support for calling external system interfaces through webhook, support for sending emails, and support for notifying specific users through internal notification. Pipeline variables do not contain step execution status information (status) and step details (stepDetail) when triggers are invoked before a specific step is executed. Pipeline variables contain step execution status information (status) and step details (stepDetail) in the case of triggers that are invoked after a specific step is executed.',
      lang_form_add_pipeline_trigger_before_execute: 'Whether to trigger before execution(beforeExecute)*',
      lang_form_add_pipeline_trigger_before_execute_tip_1: 'Whether to execute this trigger before executing this step. Pipeline variables do not contain step execution status information (status) and step details (stepDetail) when triggers are invoked before a specific step is executed',
      lang_form_add_pipeline_trigger_step_action: 'Trigger step actions(stepAction)*',
      lang_form_add_pipeline_trigger_step_action_tip_1: 'The trigger will execute before or after a specific step is executed',
      lang_form_add_pipeline_trigger_status_results: 'Trigger statuses(statusResults)*',
      lang_form_add_pipeline_trigger_status_results_tip_1: 'When the execution result of the step is in the above statuses, the trigger will be executed',
      lang_form_add_pipeline_trigger_status_results_success: 'Execute result: SUCCESS',
      lang_form_add_pipeline_trigger_status_results_fail: 'Execute result: FAIL',
      lang_form_add_pipeline_trigger_enable: 'Trigger enable(enable)*',
      lang_form_add_pipeline_trigger_enable_tip_1: 'If trigger disable, it will not execute',
      lang_form_add_pipeline_trigger_check_var_to_ignore: 'Ignore trigger execution by pipeline variable (checkVarToIgnore)',
      lang_form_add_pipeline_trigger_check_var_to_ignore_tip_1: 'The trigger is only valid when it is activated',
      lang_form_add_pipeline_trigger_check_var_to_ignore_tip_2: 'Support pipeline variables, when the go template parsing result of pipeline variables is `true`, this trigger will not be executed',
      lang_form_add_pipeline_trigger_check_var_to_ignore_tip_3: 'Empty means that trigger execution is not ignored',
      lang_form_add_pipeline_trigger_check_var_to_ignore_tip_4: 'For example: << if eq (where . `previousSteps.#(stepAction=="scanImage")(moduleName=="tp1-gin-demo").result` `string`) "FAIL" >>true< < end >>, << and >> please replace with double curly braces',
      lang_form_add_pipeline_trigger_webhook_url: 'Trigger webhook request URL(webhookUrl)',
      lang_form_add_pipeline_trigger_webhook_url_tip_1: 'Support to use pipeline variables',
      lang_form_add_pipeline_trigger_insecure: 'Whether to enable insecure mode(insecure)',
      lang_form_add_pipeline_trigger_insecure_tip_1: 'Whether to enable the insecure mode, if the server is https and uses a self-signed tls certificate, then please set this option to true',
      lang_form_add_pipeline_trigger_webhook_method: 'Webhook request method(webhookMethod)',
      lang_form_add_pipeline_trigger_webhook_method_tip_1: 'Webhook HTTP request method, if webhookUrl is set, this field required',
      lang_form_add_pipeline_trigger_webhook_headers: 'Webhook request headers(webhookHeaders)',
      lang_form_add_pipeline_trigger_webhook_headers_tip_1: 'Webhook HTTP request headers, support to use pipeline variables',
      lang_form_add_pipeline_trigger_webhook_headers_name: 'HTTP header name*',
      lang_form_add_pipeline_trigger_webhook_headers_value: 'HTTP header value*',
      lang_form_add_pipeline_trigger_webhook_query_params: 'Webhook request queray params(webhookQueryParams)',
      lang_form_add_pipeline_trigger_webhook_query_params_tip_1: 'Webhook HTTP request queray params in URL, support to use pipeline variables',
      lang_form_add_pipeline_trigger_webhook_query_params_name: 'URL query param name',
      lang_form_add_pipeline_trigger_webhook_query_params_value: 'URL query param value',
      lang_form_add_pipeline_trigger_webhook_forms: 'Webhook request forms(webhookForms)',
      lang_form_add_pipeline_trigger_webhook_forms_tip_1: 'Webhook HTTP request forms, support to use pipeline variables',
      lang_form_add_pipeline_trigger_webhook_forms_name: 'Form name',
      lang_form_add_pipeline_trigger_webhook_forms_value: 'Form value',
      lang_form_add_pipeline_trigger_webhook_body: 'Webhook request body(webhookBody)',
      lang_form_add_pipeline_trigger_webhook_body_tip_1: 'Webhook HTTP request body, support to use pipeline variables',
      lang_form_add_pipeline_trigger_mail_committees: 'Send mail to all committees(mailCommittees)*',
      lang_form_add_pipeline_trigger_mail_committees_tip_1: 'If there are code commits in this pipeline execution, send mail to all committees',
      lang_form_add_pipeline_trigger_mail_receivers: 'Send mail to receivers(mailReceivers)',
      lang_form_add_pipeline_trigger_mail_receivers_tip_1: 'If there are code commits in this pipeline execution, send mail to receivers',
      lang_form_add_pipeline_trigger_mail_title: 'Mail title(mailTitle)',
      lang_form_add_pipeline_trigger_mail_title_tip_1: 'Support to use pipeline variables',
      lang_form_add_pipeline_trigger_mail_attachment_format: 'Mail attachment format(mailAttachmentFormat)',
      lang_form_add_pipeline_trigger_mail_attachment_format_tip_1: 'The notification email contains two attachments, the step execution logs attachment and the pipeline variables attachment, where the pipeline variable attachment is in YAML format or JSON format',
      lang_form_add_pipeline_trigger_mail_content: 'Mail content(mailContent)',
      lang_form_add_pipeline_trigger_mail_content_tip_1: 'Support to use pipeline variables',
      lang_form_add_pipeline_trigger_notice_committees: 'Notify all committees(noticeCommittees)*',
      lang_form_add_pipeline_trigger_notice_committees_tip_1: 'If there are code commits in this pipeline execution, notify all committees',
      lang_form_add_pipeline_trigger_notice_usernames: 'Notify specific users(noticeUsernames)',
      lang_form_add_pipeline_trigger_notice_usernames_tip_1: 'If there are code commits in this pipeline execution, notify specific users',
      lang_form_update_pipeline_trigger: 'Update trigger',
      lang_form_delete_pipeline_trigger: 'Delete trigger',
      lang_form_delete_pipeline_trigger_prompt: 'After the trigger is deleted, the trigger will not be called again when the corresponding step is executed',
      lang_form_delete_pipeline_trigger_tip_1: 'Are you sure delete pipeline {0} trigger {1}?',
      lang_form_update_resource_quota: 'Update kubernetes environment resource quota',
      lang_form_update_resource_quota_prompt: 'Update project {0} env {1} resource quota',
      lang_form_update_resource_quota_namespace_quota: 'Namespace total resource quota limit(namespaceQuota)*',
      lang_form_update_resource_quota_namespace_quota_tip_1: 'The total resource quota that can be used by all containers in the entire project namespace. If the resource quota is exceeded, the container will fail to start',
      lang_form_update_resource_quota_namespace_quota_memory_request: 'Sum of request memory resources(memoryRequest)*',
      lang_form_update_resource_quota_namespace_quota_memory_request_tip_1: 'Ti, Gi, Mi, and Ki represent the memory of T, G, M, and K. Example: 10Ti, 10Gi, 10Mi, 10Ki',
      lang_form_update_resource_quota_namespace_quota_memory_limit: 'Sum of limit memory resources(memoryLimit)*',
      lang_form_update_resource_quota_namespace_quota_memory_limit_tip_1: 'Ti, Gi, Mi, and Ki represent the memory of T, G, M, and K. Example: 10Ti, 10Gi, 10Mi, 10Ki',
      lang_form_update_resource_quota_namespace_quota_cpu_request: 'Sum of request CPU resources(cpuRequest)*',
      lang_form_update_resource_quota_namespace_quota_cpu_request_tip_1: '1 means one vCPU, 0.1 or 100m means 0.1 vCPU. Example: 1, 0.1, 100m',
      lang_form_update_resource_quota_namespace_quota_cpu_limit: 'Sum of limit CPU resources(cpuLimit)*',
      lang_form_update_resource_quota_namespace_quota_cpu_limit_tip_1: '1 means one vCPU, 0.1 or 100m means 0.1 vCPU. Example: 1, 0.1, 100m',
      lang_form_update_resource_quota_namespace_quota_pods_limit: 'Sum of limit pods count(podsLimit)*',
      lang_form_update_resource_quota_namespace_quota_pods_limit_tip_1: 'How many pods can run in the project namespace',
      lang_form_update_resource_quota_default_quota: 'Container default resource quota(defaultQuota)*',
      lang_form_update_resource_quota_default_quota_tip_1: "If the container's resource quota is not set, then that setting will be used as the container's default resource quota setting",
      lang_form_update_resource_quota_default_quota_memory_request: 'Default request memory resource(memoryRequest)*',
      lang_form_update_resource_quota_default_quota_memory_request_tip_1: 'Ti, Gi, Mi, and Ki represent the memory of T, G, M, and K. Example: 10Ti, 10Gi, 10Mi, 10Ki',
      lang_form_update_resource_quota_default_quota_memory_limit: 'Default limit memory resource(memoryLimit)*',
      lang_form_update_resource_quota_default_quota_memory_limit_tip_1: 'Ti, Gi, Mi, and Ki represent the memory of T, G, M, and K. Example: 10Ti, 10Gi, 10Mi, 10Ki',
      lang_form_update_resource_quota_default_quota_cpu_request: 'Default request CPU resource(cpuRequest)*',
      lang_form_update_resource_quota_default_quota_cpu_request_tip_1: '1 means one vCPU, 0.1 or 100m means 0.1 vCPU. Example: 1, 0.1, 100m',
      lang_form_update_resource_quota_default_quota_cpu_limit: 'Default limit CPU resource(cpuLimit)*',
      lang_form_update_resource_quota_default_quota_cpu_limit_tip_1: '1 means one vCPU, 0.1 or 100m means 0.1 vCPU. Example: 1, 0.1, 100m',
      lang_form_assign_pv: 'Assign new PVs to env',
      lang_form_assign_pv_prompt: 'Set the project {0} to mount a persistent volume (PV) in the {1} environment, it will automatically create a corresponding persistent volume claim (PVC) in this environment after allocation, and then the containers of the project modules can mount the PVCs',
      lang_form_assign_pv_pv_names: 'Please select the PV names(pvNames)*',
      lang_form_assign_pv_pv_names_tip_1: 'Support assign multiple PVs, then the containers of the project modules can mount the PVCs',
      lang_form_remove_pv: 'Remove PV from env',
      lang_form_remove_pv_prompt: 'It will remove PV {2} from project {0 } env {1}, and delete related persistent volume claim (PVC), containers of the project modules can not mount this PVC',
      lang_form_remove_pv_tip_1: 'Are you sure remove PV {2} from project {0 } env {1}?',
      lang_form_new_network_policy: 'Create a strict network policy for the environment',
      lang_form_new_network_policy_prompt: 'Set project {0} to enable strict network policies in the {1} environment, so that microservices in the project namespace can only be accessed by pods in this namespace, but not by pods in other namespaces. This network policy may cause microservice access exceptions across namespaces, please enable it carefully',
      lang_form_delete_network_policy: 'Delete network policy',
      lang_form_delete_network_policy_prompt: 'Will delete network policy {2} in project {0} {1} environment',
      lang_form_delete_network_policy_name: 'Network policy name(name)*',
      lang_form_delete_network_policy_name_tip_1: 'Are you sure you want to delete network policy {0}?',
      lang_form_delete_network_policy_tip_1: 'Are you sure you want to delete network policy {2} for project {0} {1} environment? ',
      lang_form_new_host: 'Create host in env',
      lang_form_new_host_prompt: 'After create host in env {0}, the pipeline is able to deploy artifacts to this host. One host can be assigned to multiple different project environments',
      lang_form_new_host_host_name: 'Host name ID(hostName)*',
      lang_form_new_host_host_name_tip_1: 'Globally unique host name ID, can not be duplicated, can not be changed after created. Example: test-project1-host01',
      lang_form_new_host_groups: 'Host group names(groups)',
      lang_form_new_host_groups_tip_1: 'Set the groups to which the host belongs. A host can belong to multiple groups. You can deploy a artifact to multiple hosts in a specific group. Please enter a carriage return for each group name. Example: backend_group',
      lang_form_new_host_groups_tip_2: 'Note that different project environments can set different host groups',
      lang_form_new_host_varialbes: 'Host variables(varialbes)',
      lang_form_new_host_varialbes_name: 'Variable name',
      lang_form_new_host_varialbes_value: 'Variable value',
      lang_form_new_host_varialbes_tip_1: 'Sets variables that can be referenced in ansible-playbook, supports multiple variables. Variable name example: test_var',
      lang_form_new_host_varialbes_tip_2: 'Note that different project environments can set different host variables',
      lang_form_new_host_host_addr: 'Host address(hostAddr)*',
      lang_form_new_host_host_addr_tip_1: 'Host IP address. Example: 192.168.0.1',
      lang_form_new_host_host_port: 'Host port for SSH connection(hostPort)*',
      lang_form_new_host_host_user: 'Remote login user for SSH connection(hostUser)*',
      lang_form_new_host_host_password: 'Remote login password(hostPassword)*',
      lang_form_new_host_host_become: 'Become other user after SSH connected(hostBecome)*',
      lang_form_new_host_host_become_user: 'Become user name(hostBecomeUser)',
      lang_form_new_host_host_become_user_tip_1: 'If hostBecome set, please set become user name',
      lang_form_new_host_host_become_password: 'Become user password(hostBecomePassword)',
      lang_form_new_host_host_become_password_tip_1: 'If hostBecome set, please set become user password',
      lang_form_update_host: 'Update host',
      lang_form_update_host_prompt: 'Update host {0} settings. If the host is assigned to multiple different project environments, the settings of the host in all project environments will be changed after modification',
      lang_form_add_host_to_other_project: 'Join the host to other project env',
      lang_form_add_host_to_other_project_prompt: 'Join host {0} to other project env, supports different project deploy artifact to the same host. (Note that if you modify the host settings, the host settings of other project environments will also change)',
      lang_form_add_host_to_other_project_project_name: 'Please select project name(projectName)*',
      lang_form_add_host_to_other_project_project_name_tip_1: 'Please select which project can deploy artifact to this host',
      lang_form_add_host_to_other_project_env_name: 'Please select env name(envName)*',
      lang_form_add_host_to_other_project_env_name_tip_1: 'Please select which env assign this host to',
      lang_form_remove_host_from_env: 'Remove host from env',
      lang_form_remove_host_from_env_prompt: 'After remove host from env, project artifact can not deploy to this host. (If the host only assigned in this project environment, it will delete this host completely)',
      lang_form_remove_host_from_env_tip_1: 'Are you sure remove host {2} from project {0} env {1}?',
      lang_form_remove_host_from_env_host_name: 'Please inputh host name ID(hostName)*',
      lang_form_remove_host_from_env_host_name_tip_1: 'Are you sure remove {2} from project {0} env {1}?',
      lang_form_delete_host: 'Delete host completely',
      lang_form_delete_host_prompt: 'After delete host completely, all projects artifacts can not deploy to this host',
      lang_form_delete_host_tip_1: 'Are you sure delete host {0} completely?',
      lang_form_delete_host_host_name: 'Please input host name ID(hostName)*',
      lang_form_delete_host_host_name_tip_1: 'Are you sure delete host {0} completely?',
      lang_form_new_database: 'Create database in env',
      lang_form_new_database_prompt: 'After create database in project {0} env {1}, the pipeline is able to execute SQL script in this database. One database can be assigned to multiple different project environments',
      lang_form_new_database_db_name: 'Database name ID(dbName)*',
      lang_form_new_database_db_name_tip_1: 'Globally unique database name ID, can not be duplicated, can not be changed after created. Example: test-project1-db01',
      lang_form_new_database_db_url: 'Dabase JDBC connection settings(dbURL)*',
      lang_form_new_database_db_url_tip_1: 'Supports different types of relational databases. Example: jdbc:mysql://192.168.0.1:3306/testdb',
      lang_form_new_database_db_user: 'Database connection username(dbUser)*',
      lang_form_new_database_db_password: 'Database connection pasword(dbPassword)*',
      lang_form_update_database: 'Update database',
      lang_form_update_database_prompt: 'Update database {0} settings. If the database is assigned to multiple different project environments, the settings of the database in all project environments will be changed after modification',
      lang_form_update_database_tip_1: 'Are you sure update database {0} settings?',
      lang_form_add_database_to_other_project: 'Join the database to other project env',
      lang_form_add_database_to_other_project_prompt: 'Join database {0} to other project env, supports different project execute SQL script in the same database. (Note that if you modify the database settings, the database settings of other project environments will also change)',
      lang_form_add_database_to_other_project_project_name: 'Please select project name(projectName)*',
      lang_form_add_database_to_other_project_project_name_tip_1: 'Please select which project can execute SQL script in this database',
      lang_form_add_database_to_other_project_env_name: 'Please select env name(envName)*',
      lang_form_add_database_to_other_project_env_name_tip_1: 'Please select which env assign this database to',
      lang_form_remove_database_from_env: 'Remove database from env',
      lang_form_remove_database_from_env_prompt: 'After remove database from env, project SQL script can not execute in this database. (If the database only assigned in this project environment, it will delete this database completely)',
      lang_form_remove_database_from_env_tip_1: 'Are you sure remove database {2} from project {0} env {1}?',
      lang_form_remove_database_from_env_db_name: 'Please inputh database name ID(dbName)*',
      lang_form_remove_database_from_env_db_name_tip_1: 'Are you sure remove {2} from project {0} env {1}?',
      lang_form_delete_database: 'Delete database completely',
      lang_form_delete_database_prompt: 'After delete database completely, all projects SQL script can not execute in this database',
      lang_form_delete_database_tip_1: 'Are you sure delete database {0} completely?',
      lang_form_delete_database_db_name: 'Please input database name ID(dbName)*',
      lang_form_delete_database_db_name_tip_1: 'Are you sure delete database {0} completely?',
      lang_form_debug_component_prompt: "Debug components directory /{0} already mounted the entire project persistent volume(PV). Debug components included two container: ssh-debug (command line debug container, which connects with SSH), vnc-debug (GUI debug container, which connects with VNC). Used for project debugging in the project's kubernetes namespace",
      lang_form_debug_component_debug_quota: 'debug component resource quota settings(debugQuota)*',
      lang_form_debug_component_ingress: 'Set to connect to vnc debugging component by using domain name(ingress)',
      lang_form_debug_component_memory_request: 'Request memory(memoryRequest)*',
      lang_form_debug_component_memory_request_tip_1: 'Ti, Gi, Mi, and Ki represent the memory of T, G, M, and K. Example: 10Ti, 10Gi, 10Mi, 10Ki',
      lang_form_debug_component_memory_limit: 'Limit memory(memoryLimit)*',
      lang_form_debug_component_memory_limit_tip_1: 'Ti, Gi, Mi, and Ki represent the memory of T, G, M, and K. Example: 10Ti, 10Gi, 10Mi, 10Ki',
      lang_form_debug_component_cpu_request: 'Request CPU(cpuRequest)*',
      lang_form_debug_component_cpu_request_tip_1: '1 means one vCPU, 0.1 or 100m means 0.1 vCPU. Example: 1, 0.1, 100m',
      lang_form_debug_component_cpu_limit: 'Limit CPU(cpuLimit)*',
      lang_form_debug_component_cpu_limit_tip_1: '1 means one vCPU, 0.1 or 100m means 0.1 vCPU. Example: 1, 0.1, 100m',
      lang_form_debug_component_ingress_cert_branch: 'The branch name of the code repository where the certificate is located(ingress.certBranch)',
      lang_form_new_debug_component: 'Create new debug components in env',
      lang_form_update_debug_component: 'Update debug components resource quota',
      lang_form_delete_debug_component: 'Delete debug components from env',
      lang_form_delete_debug_component_prompt: 'Delete debug components from project kubernetes environment namespace, it will delete ssh-debug and vnc-debug from kubernetes namespace',
      lang_form_delete_debug_component_tip_1: 'Are you sure delete debug components from project {0} env {1}?',
      lang_form_delete_debug_component_env_name: 'Please input env name(envName)*',
      lang_form_delete_debug_component_env_name_tip_1: 'Are you sure delete debug components from env {0}?',
      lang_form_component_arch: 'Components deployment cpu architecture(arch)*',
      lang_form_component_prompt: 'Create middle ware components in project kubernetes env, for example: mysql, redis, nginx etc',
      lang_form_component_component_desc: 'Component explanation(componentDesc)*',
      lang_form_component_component_desc_tip_1: 'Example: {0}-mysql',
      lang_form_new_component: 'Create middle ware component in env',
      lang_form_new_component_template_name: 'Please select component template',
      lang_form_new_component_template_default: 'Default template',
      lang_form_update_component: 'Update middle ware component',
      lang_form_delete_component: 'Delete middle ware component',
      lang_form_delete_component_prompt: 'Delete component {2} in project {0} env {1}',
      lang_form_delete_component_tip_1: 'Are you sure delete component {2} in project {0} env {1}?',
      lang_form_delete_component_component_name: 'Please input component name(componentName)*',
      lang_form_delete_component_component_name_tip_1: 'Are you sure delete component {0}?',
      lang_form_apply_log_content: 'Processing content(content)*',
      lang_form_new_announcement_title: 'Announcement title(title)*',
      lang_form_new_announcement_content: 'Announcement content(content)*',
      lang_form_new_announcement_content_tip_1: 'Please input announcement content. (Supports pasting pictures directly from the clipboard, and also supports crtl+C to copy picture files, and crtl+V to paste picture files in the input box)*',
      lang_form_new_announcement_level: 'Announcement emergency level(level)*',
      lang_form_new_announcement_attachments: 'Announcement attachments(attachments)',
      lang_form_delete_announcement: 'Delete announcement',
      lang_form_delete_announcement_tip_1: 'Are you sure delete announcement {0} ?',
      lang_form_admin_webhook_variables_desc: 'Admin webhook variables description',
      lang_form_admin_webhook_prompt: 'When performing specific admin action, trigger the execution of webhook',
      lang_form_admin_webhook_admin_action: 'Admin action type (adminAction)*',
      lang_form_admin_webhook_admin_action_tip_1: 'When a specific Admin action is performed, this webhook will be executed',
      lang_form_admin_webhook_enable: 'Whether to activate (enable)*',
      lang_form_admin_webhook_enable_tip_1: 'In the inactive state, the webhook will not be executed',
      lang_form_admin_webhook_webhook_url: 'Webhook request URL(webhookUrl)*',
      lang_form_admin_webhook_webhook_url_tip_1: 'Supports the use of admin webhook variables',
      lang_form_admin_webhook_insecure: 'Whether to enable insecure mode (insecure)',
      lang_form_admin_webhook_insecure_tip_1: 'Whether to enable the insecure mode, if the server is https and uses a self-signed tls certificate, then please set this option to true',
      lang_form_admin_webhook_webhook_method: 'Webhook request method (webhookMethod)*',
      lang_form_admin_webhook_webhook_method_tip_1: 'The http request method of webhook, it must be set when setting the webhook request URL',
      lang_form_admin_webhook_webhook_headers: 'Webhook request headers(webhookHeaders)',
      lang_form_admin_webhook_webhook_headers_tip_1: 'The http request header information of webhook supports the use of management webhook variables',
      lang_form_admin_webhook_webhook_headers_name: 'header name*',
      lang_form_admin_webhook_webhook_headers_value: 'header value*',
      lang_form_admin_webhook_webhook_query_params: 'Webhook request URL parameters (webhookQueryParams)',
      lang_form_admin_webhook_webhook_query_params_tip_1: 'The parameters on the webhooks http request URL support the use of management webhook variables',
      lang_form_admin_webhook_webhook_query_params_name: 'URL parameter name*',
      lang_form_admin_webhook_webhook_query_params_value: 'URL parameter value*',
      lang_form_admin_webhook_webhook_forms: 'Webhook request form (webhookForms)',
      lang_form_admin_webhook_webhook_forms_tip_1: 'Webhook request form parameters, support the use of management webhook variables',
      lang_form_admin_webhook_webhook_forms_name: 'form name*',
      lang_form_admin_webhook_webhook_forms_value: 'Form value*',
      lang_form_admin_webhook_webhook_body: 'Webhook request body content (webhookBody)',
      lang_form_admin_webhook_webhook_body_tip_1: 'The http request BODY content of webhook supports the use of management webhook variables',
      lang_form_delete_admin_webhook: 'Delete admin webhook',
      lang_form_delete_admin_webhook_prompt: 'The admin webhook will not be called again after the admin action is performed after deleting the admin webhook',
      lang_form_delete_admin_webhook_tip_1: 'Are you sure you want to delete the admin webhook?',
      lang_form_edit_user_profile: 'Update {0} profile',
      lang_form_edit_user_tenant_admins: 'Update {0} tenant admins settings',
      lang_form_change_user_password: 'Change {0} password',
      lang_form_delete_user: 'Delete user {0}',
      lang_form_delete_user_prompt: 'After delete user, this account can not login any more',
      lang_form_delete_user_username: 'Please input username(username)*',
      lang_form_delete_user_username_tip_1: 'Are you sure delete user {0}?',
      lang_form_env_k8s_env_name: 'Kubernetes env name ID(envName)*',
      lang_form_env_k8s_env_name_tip_1: 'Example: prod1 or prod_zone1',
      lang_form_env_k8s_env_desc: 'Kubernetes env explanation(envDesc)*',
      lang_form_env_k8s_env_desc_tip_1: 'The display name of the kubernetes env. Example: Production Env',
      lang_form_env_k8s_connection_settings: 'Kubernetes environment connection settings(connectionSettings)*',
      lang_form_env_k8s_connection_settings_host: 'Kubernetes API server IP address(host)*',
      lang_form_env_k8s_connection_settings_host_tip_1: 'The IP address or hostname of kubernetes API server',
      lang_form_env_k8s_connection_settings_view_host: 'Kubernetes API server external address(viewHost)*',
      lang_form_env_k8s_connection_settings_view_host_tip_1: 'The IP address or hostname of kubernetes API server for external access',
      lang_form_env_k8s_connection_settings_port: 'Kubernetes API server port(port)*',
      lang_form_env_k8s_connection_settings_port_tip_1: 'The port of kubernetes API server',
      lang_form_env_k8s_connection_settings_token: 'Kubernetes API server token(token)*',
      lang_form_env_k8s_connection_settings_token_tip_1: 'The connection token of kubernetes API server',
      lang_form_env_k8s_connection_settings_ca_crt_base64: 'base64 encoded string of ca certificate of apiserver(caCrtBase64)*',
      lang_form_env_k8s_connection_settings_ca_crt_base64_tip_1: 'The base64 encoded string of the ca certificate of the apiserver in the kubernetes environment',
      lang_form_env_k8s_connection_settings_dashboard_url: 'Link to the dashboard of the kubernetes environment(dashboardUrl)*',
      lang_form_env_k8s_connection_settings_dashboard_url_tip_1: 'The link to the dashboard of the kubernetes environment, supports the projectNamespace variable',
      lang_form_env_k8s_connection_settings_dashboard_url_network_policy: 'The network policy management link of the dashboard in the kubernetes environment (dashboardUrlNetworkPolicy)*',
      lang_form_env_k8s_connection_settings_dashboard_url_network_policy_tip_1: 'The network policy management link of the dashboard in the kubernetes environment supports projectNamespace variables',
      lang_form_env_k8s_connection_settings_istio_namespace: 'Kubernetes istio service mesh deploy namespace(istioNamespace)*',
      lang_form_env_k8s_connection_settings_ingress_controller_namespace: 'The namespace of the ingress controller deployment in the kubernetes environment (ingressControllerNamespace)*',
      lang_form_env_k8s_connection_settings_timezone: 'kubernetes timezone(timezone)*',
      lang_form_env_k8s_node_port_range: 'The nodePort available port range that the kubernetes environment can allocate to the project (nodePortRange)*',
      lang_form_env_k8s_node_port_range_start: 'Available nodePort start port (nodePortRangeStart)*',
      lang_form_env_k8s_node_port_range_end: 'Available nodePort end port (nodePortRangeEnd)*',
      lang_form_env_k8s_connection_settings_arch_settings: 'The cpu architecture settings of the kubernetes environment (archSettings)*',
      lang_form_env_k8s_connection_settings_arch_settings_arch: 'cpu architecture (arch)*',
      lang_form_env_k8s_connection_settings_arch_settings_node_selector: 'Application deployment node selector (nodeSelector)',
      lang_form_env_k8s_connection_settings_arch_settings_node_selector_tip_1: 'Used to set the application under this cpu architecture, which nodes will be selected for deployment in this environment, if not filled in, it means that the application deployment node is not limited',
      lang_form_env_k8s_connection_settings_arch_settings_node_selector_label_name: 'label name (labelName)*',
      lang_form_env_k8s_connection_settings_arch_settings_node_selector_label_value: 'label value (labelValue)*',
      lang_form_env_k8s_project_data_pod: 'Project data mounted pod settings(projectDataPod)*',
      lang_form_env_k8s_project_data_pod_tip_1: 'The project data mount pod can access the root directory of the default persistent volume. When the project is initialized, files are written to the persistent volume of the project namespace through this pod',
      lang_form_env_k8s_project_data_pod_namespace: 'Project data mounted pod belongs to which namespace(namespace)*',
      lang_form_env_k8s_project_data_pod_stateful_set_name: 'Project data mounted statefulset name(statefulSetName)*',
      lang_form_env_k8s_project_data_pod_path: 'All projects shared storage root directory(path)*',
      lang_form_env_k8s_project_data_pod_path_tip_1: 'This directory included all projects default shared storage',
      lang_form_env_k8s_pod_image_settings: 'pod image settings (podImageSettings)*',
      lang_form_env_k8s_pod_image_settings_project_data_pod_image: 'project-data-pods image path (projectDataPodImage)*',
      lang_form_env_k8s_pod_image_settings_busybox_image: 'busybox image path (busyboxImage)*',
      lang_form_env_k8s_image_repo_use_external: 'Whether to use the external host ir IP settings to connect to the image repository(imageRepoUseExternal)',
      lang_form_env_k8s_artifact_repo_use_external: 'Whether to use the external host ir IP settings to connect to the artifact repository(artifactRepoUseExternal)',
      lang_form_env_k8s_pv_settings: 'Kubernetes environment default persistent volume(PV) settings(pvSettings)*',
      lang_form_env_k8s_pv_settings_pv_config_local: 'Host path persistent volume settings(pvConfigLocal)',
      lang_form_env_k8s_pv_settings_pv_config_local_tip_1: 'Use host path as the default kubernetes PV',
      lang_form_env_k8s_pv_settings_pv_config_local_local_path: 'Local host absolute path(localPath)*',
      lang_form_env_k8s_pv_settings_pv_config_cephfs: 'CephFS persistent volume settings(pvConfigCephfs)',
      lang_form_env_k8s_pv_settings_pv_config_cephfs_tip_1: 'Use CephFS as the default kubernetes PV',
      lang_form_env_k8s_pv_settings_pv_config_cephfs_ceph_user: 'CephFS connection user name(cephUser)*',
      lang_form_env_k8s_pv_settings_pv_config_cephfs_ceph_secret: 'CephFS connection secret(cephSecret)*',
      lang_form_env_k8s_pv_settings_pv_config_cephfs_ceph_monitors: 'CephFS monitors IP address and port settings(cephMonitors)*',
      lang_form_env_k8s_pv_settings_pv_config_cephfs_ceph_monitors_tip_1: 'Please input all Ceph monitors IP address and port. Example: 192.168.60.43:6789',
      lang_form_env_k8s_pv_settings_pv_config_cephfs_ceph_path: 'CephFS absolute path(cephPath)*',
      lang_form_env_k8s_pv_settings_pv_config_cephfs_ceph_path_tip_1: 'Use absolute path, must starts with /',
      lang_form_env_k8s_pv_settings_pv_config_nfs: 'NFS persistent volume settings(pvConfigNfs)',
      lang_form_env_k8s_pv_settings_pv_config_nfs_tip_1: 'Use NFS as the default kubernetes PV',
      lang_form_env_k8s_pv_settings_pv_config_nfs_nfs_server: 'NFS server IP address or hostname(nfsServer)*',
      lang_form_env_k8s_pv_settings_pv_config_nfs_nfs_server_tip_1: 'Example: 192.168.0.1',
      lang_form_env_k8s_pv_settings_pv_config_nfs_nfs_path: 'NFS absolute path(nfsPath)*',
      lang_form_env_k8s_pv_settings_pv_config_nfs_nfs_path_tip_1: 'Use absolute path, must starts with /',
      lang_form_env_k8s_pv_settings_project_node_selector: 'Kubernetes node selector settings(projectNodeSelector)',
      lang_form_env_k8s_pv_settings_project_node_selector_tip_1: 'Nodes with which labels will the project containers deployed to, leave it empty if unlimited',
      lang_form_env_k8s_pv_settings_project_node_selector_label_name: 'Node label name(labelName)*',
      lang_form_env_k8s_pv_settings_project_node_selector_label_value: 'Node label value(labelValue)*',
      lang_form_env_k8s_quota_config: 'Project namespace default resource quota settings(quotaConfig)*',
      lang_form_env_k8s_quota_config_namespace_quota: 'Namespace total resource quota limit(namespaceQuota)*',
      lang_form_env_k8s_quota_config_namespace_quota_tip_1: 'The total resource quota that can be used by all containers in the entire project namespace. If the resource quota is exceeded, the container will fail to start',
      lang_form_env_k8s_quota_config_namespace_quota_memory_request: 'Sum of request memory resources(memoryRequest)*',
      lang_form_env_k8s_quota_config_namespace_quota_memory_request_tip_1: 'Ti, Gi, Mi, and Ki represent the memory of T, G, M, and K. Example: 10Ti, 10Gi, 10Mi, 10Ki',
      lang_form_env_k8s_quota_config_namespace_quota_memory_limit: 'Sum of limit memory resources(memoryLimit)*',
      lang_form_env_k8s_quota_config_namespace_quota_memory_limit_tip_1: 'Ti, Gi, Mi, and Ki represent the memory of T, G, M, and K. Example: 10Ti, 10Gi, 10Mi, 10Ki',
      lang_form_env_k8s_quota_config_namespace_quota_cpu_request: 'Sum of request CPU resources(cpuRequest)*',
      lang_form_env_k8s_quota_config_namespace_quota_cpu_request_tip_1: '1 means one vCPU, 0.1 or 100m means 0.1 vCPU. Example: 1, 0.1, 100m',
      lang_form_env_k8s_quota_config_namespace_quota_cpu_limit: 'Sum of limit CPU resources(cpuLimit)*',
      lang_form_env_k8s_quota_config_namespace_quota_cpu_limit_tip_1: '1 means one vCPU, 0.1 or 100m means 0.1 vCPU. Example: 1, 0.1, 100m',
      lang_form_env_k8s_quota_config_namespace_quota_pods_limit: 'Sum of limit pods count(podsLimit)*',
      lang_form_env_k8s_quota_config_namespace_quota_pods_limit_tip_1: 'How many pods can run in the project namespace',
      lang_form_env_k8s_quota_config_default_quota: 'Container default resource quota(defaultQuota)*',
      lang_form_env_k8s_quota_config_default_quota_tip_1: "If the container's resource quota is not set, then that setting will be used as the container's default resource quota setting",
      lang_form_env_k8s_quota_config_default_quota_memory_request: 'Default request memory resource(memoryRequest)*',
      lang_form_env_k8s_quota_config_default_quota_memory_request_tip_1: 'Ti, Gi, Mi, and Ki represent the memory of T, G, M, and K. Example: 10Ti, 10Gi, 10Mi, 10Ki',
      lang_form_env_k8s_quota_config_default_quota_memory_limit: 'Default limit memory resource(memoryLimit)*',
      lang_form_env_k8s_quota_config_default_quota_memory_limit_tip_1: 'Ti, Gi, Mi, and Ki represent the memory of T, G, M, and K. Example: 10Ti, 10Gi, 10Mi, 10Ki',
      lang_form_env_k8s_quota_config_default_quota_cpu_request: 'Default request CPU resource(cpuRequest)*',
      lang_form_env_k8s_quota_config_default_quota_cpu_request_tip_1: '1 means one vCPU, 0.1 or 100m means 0.1 vCPU. Example: 1, 0.1, 100m',
      lang_form_env_k8s_quota_config_default_quota_cpu_limit: 'Default limit CPU resource(cpuLimit)*',
      lang_form_env_k8s_quota_config_default_quota_cpu_limit_tip_1: '1 means one vCPU, 0.1 or 100m means 0.1 vCPU. Example: 1, 0.1, 100m',
      lang_form_new_env: 'Create kubernetes environment',
      lang_form_new_env_prompt: 'After create kubernetes environment, projects containers can deploy to this kubernetes cluster. Please ensure that DORY can access the API server of the kubernetes environment, and ensure that the kubernetes environment can pull images from the image repository. Please use the "dorycli install check" command to check the kubernetes environment setup requirements',
      lang_form_update_env: 'Update kubernetes environment',
      lang_form_update_env_prompt: 'After update kubernetes environment, projects containers can deploy to this kubernetes cluster. Please ensure that DORY can access the API server of the kubernetes environment, and ensure that the kubernetes environment can pull images from the image repository',
      lang_form_delete_env: 'Delete kubernetes environment',
      lang_form_delete_env_prompt: 'After delete kubernetes environment, projects containers can not deploy to this kubernetes cluster',
      lang_form_delete_env_name: 'Env name(envName)*',
      lang_form_delete_env_name_tip_1: 'Are you sure delete env {0}?',
      lang_form_pv_pv_name: 'Persistent volume(PV) name(pvName)*',
      lang_form_pv_pv_name_tip_1: 'Must ends with -pv. Example: test-project1-local-pv',
      lang_form_pv_read_only: 'PV is read only(readOnly)*',
      lang_form_pv_read_only_tip_1: 'Whether to mount the persistent volume in read-only mode, if it is set to read-only, data cannot be written to the persistent volume',
      lang_form_pv_type: 'Persistent volume(PV) type*',
      lang_form_pv_host_path: 'Host path persistent volume settings(hostPath)',
      lang_form_pv_host_path_tip_1: 'Use host path as the kubernetes PV',
      lang_form_pv_host_path_path: 'Local host absolute path(path)*',
      lang_form_pv_cephfs: 'CephFS persistent volume settings(cephfs)',
      lang_form_pv_cephfs_tip_1: 'Use CephFS as the kubernetes PV',
      lang_form_pv_cephfs_user: 'CephFS connection user name(user)*',
      lang_form_pv_cephfs_keyring: 'CephFS connection secret(keyring)*',
      lang_form_pv_cephfs_monitors: 'CephFS monitors IP address and port settings(monitors)*',
      lang_form_pv_cephfs_monitors_tip_1: 'Please input all Ceph monitors IP address and port. Example: 192.168.60.43:6789',
      lang_form_pv_cephfs_path: 'CephFS absolute path(path)*',
      lang_form_pv_cephfs_path_tip_1: 'Use absolute path, must starts with /',
      lang_form_pv_rbd: 'CephRBD persistent volume settings(rbd)',
      lang_form_pv_rbd_tip_1: 'Use CephRBD as the kubernetes PV',
      lang_form_pv_rbd_user: 'CephRBD connection user name(user)*',
      lang_form_pv_rbd_keyring: 'CephRBD connection secret(keyring)*',
      lang_form_pv_rbd_monitors: 'CephRBD monitors IP address and port settings(monitors)*',
      lang_form_pv_rbd_monitors_tip_1: 'Please input all Ceph monitors IP address and port. Example: 192.168.60.43:6789',
      lang_form_pv_rbd_pool: 'CephRBD pool name(pool)*',
      lang_form_pv_rbd_image: 'CephRBD image name(image)*',
      lang_form_pv_rbd_fs_type: 'CephRBD file system type (fsType)*',
      lang_form_pv_nfs: 'NFS persistent volume settings(nfs)',
      lang_form_pv_nfs_tip_1: 'Use NFS as the kubernetes PV',
      lang_form_pv_nfs_server: 'NFS server IP address or hostname(server)*',
      lang_form_pv_nfs_server_tip_1: 'Example: 192.168.0.1',
      lang_form_pv_nfs_path: 'NFS absolute path(path)*',
      lang_form_pv_nfs_path_tip_1: 'Use absolute path, must starts with /',
      lang_form_pv_glusterfs: 'Glusterfs persistent volume settings(glusterfs)',
      lang_form_pv_glusterfs_tip_1: 'Use Glusterfs as the kubernetes PV',
      lang_form_pv_glusterfs_endpoint_ips: 'Glusterfs endpoints IP addresses(endpointIPs)*',
      lang_form_pv_glusterfs_endpoint_ips_tip_1: 'Please input all the endpoints IP addresses. Please enter a carriage return for each IP address. Example: 192.168.0.1',
      lang_form_pv_glusterfs_endpoint_port: 'Glusterfs endpoint connection port(endpointPort)*',
      lang_form_pv_glusterfs_path: 'Glusterfs volume path(path)*',
      lang_form_pv_glusterfs_path_tip_1: 'Example: glusterfs_vol',
      lang_form_new_pv: 'Create persistent volume(PV) in env {0}',
      lang_form_new_pv_prompt: 'Create PV in kubernetes environment, projects containers can mount this PV',
      lang_form_delete_pv: 'Delete persistent volume(PV) {1} from env {0}',
      lang_form_delete_pv_prompt: 'Delete persistent volume(PV) from kubernetes environment, make sure there is no container mounted this PV',
      lang_form_delete_pv_pv_name: 'Please input PV name(pvName)*',
      lang_form_delete_pv_pv_name_tip_1: 'Are you sure delete persistent volume(PV) {0}?',
      lang_form_new_tenant: 'New tenant',
      lang_form_new_tenant_prompt: 'After the tenant is activated, the tenant administrator can be set for the tenant. Tenant administrators can open their own projects and deploy them to their own private environment; they can also open related user accounts, etc.',
      lang_form_update_tenant: 'Modify tenant ({0})',
      lang_form_update_tenant_prompt: 'Adjust the permission configuration of the tenant',
      lang_form_delete_tenant: 'Delete tenant ({0})',
      lang_form_delete_tenant_prompt: 'Note, if there are projects under the tenant, the tenant cannot be deleted',
      lang_form_delete_tenant_code: 'Tenant Code (tenantCode)*',
      lang_form_delete_tenant_code_tip_1: 'Are you sure you want to delete the {0} tenant? ',
      lang_form_tenant_code: 'Tenant Code (tenantCode)',
      lang_form_tenant_code_tip_1: 'Once set, only the tenant can use the resource',
      lang_form_is_from_file_prompt: 'Note: This configuration item is created by reading the configuration file. When the configuration is reloaded, the information you modified will be reset',
      lang_form_tenant_tenant_code: 'Tenant Code (tenantCode)*',
      lang_form_tenant_tenant_code_tip_1: 'The unique identifier of the tenant, for example: test-tenant01',
      lang_form_tenant_mesh_available: 'Is it allowed to enable the service mesh (meshAvailable)*',
      lang_form_tenant_mesh_available_tip_1: 'Whether the pipeline is allowed to execute the application service mesh step',
      lang_form_tenant_project_number: 'The number of projects allowed to be opened (projectNumber)',
      lang_form_tenant_project_number_tip_1: 'Limit how many projects the tenant can open in total, set to 0 means no limit',
      lang_form_tenant_build_def_number: 'The number of module build definitions allowed to be set (buildDefNumber)',
      lang_form_tenant_build_def_number_tip_1: 'Limit how many module build definitions the tenant can set in total, set to 0 means no limit',
      lang_form_tenant_env_number: 'The number of environments allowed to be set (envNumber)',
      lang_form_tenant_env_number_tip_1: 'Limit how many environments the tenant can set in total, set to 0 means no limit',
      lang_form_tenant_git_repo_number: 'The number of code repositories allowed to be set (gitRepoNumber)',
      lang_form_tenant_git_repo_number_tip_1: 'Limit how many code repositories the tenant can set in total, set to 0 means no limit',
      lang_form_tenant_image_repo_number: 'The number of image registries allowed to be set (imageRepoNumber)',
      lang_form_tenant_image_repo_number_tip_1: 'Limit how many image repositories the tenant can set in total, set to 0 means no limit',
      lang_form_tenant_artifact_repo_number: 'The number of dependencies and artifact repositories allowed to be set (artifactRepoNumber)',
      lang_form_tenant_artifact_repo_number_tip_1: 'Limit how many dependencies and artifact repositories the tenant can set in total, set to 0 means no limit',
      lang_form_tenant_scan_code_repo_number: 'The number of code scan repositories allowed to be set (scanCodeRepoNumber)',
      lang_form_tenant_scan_code_repo_number_tip_1: 'Limit how many code scanning repositories the tenant can set in total, set to 0 means no limit',
      lang_form_tenant_env_default_enable: 'Whether to allow the use of the global environment (envDefaultEnable)',
      lang_form_tenant_env_default_enable_tip_1: 'If set to No, the tenant can only connect to the environment set by itself',
      lang_form_tenant_git_repo_default_enable: 'Whether to allow the use of the global code repository (gitRepoDefaultEnable)',
      lang_form_tenant_git_repo_default_enable_tip_1: 'If set to No, then the tenant can only connect to the code repository set by itself',
      lang_form_tenant_image_repo_default_enable: 'Whether to allow the use of the global image registry (imageRepoDefaultEnable)',
      lang_form_tenant_image_repo_default_enable_tip_1: 'If it is set to No, then the tenant can only connect to the image registry set by itself',
      lang_form_tenant_artifact_repo_default_enable: 'Whether to allow the use of global dependencies and artifact repositories (artifactRepoDefaultEnable)',
      lang_form_tenant_artifact_repo_default_enable_tip_1: 'If set to No, the tenant can only connect to the dependencies and artifact repositories set by itself',
      lang_form_tenant_scan_code_repo_default_enable: 'Whether to allow the use of global code scanning repository (scanCodeRepoDefaultEnable)',
      lang_form_tenant_scan_code_repo_default_enable_tip_1: 'If set to No, the tenant can only connect to the code scanning repository set by itself',
      lang_form_tenant_custom_step_default_enable: 'Whether to allow the use of global custom steps (customStepDefaultEnable)',
      lang_form_tenant_custom_step_default_enable_tip_1: 'If set to No, the tenant can only use the custom steps set by itself',
      lang_form_tenant_component_template_default_enable: 'Whether to allow the use of global component templates (componentTemplateDefaultEnable)',
      lang_form_tenant_component_template_default_enable_tip_1: 'If set to No, the tenant can only use the component template set by itself',
      lang_form_tenant_expires_days: 'Expires (expiresDays)*',
      lang_form_tenant_expires_days_tip_1: 'Indicates how many days after expiration, once expired, all projects under the tenant will not be able to execute the pipeline',
      lang_form_tenant_expires_days_tip_2: 'Setting to 0 means no limit on expiration time',
      lang_form_tenant_expires_days_tip_3: 'Setting to -1 means do not change expiration time',
      lang_form_tenant_is_active: 'Whether to activate the active state (isActive)',
      lang_form_tenant_is_active_tip_1: 'If set to No, all projects under the tenant will not be able to execute the pipeline',
      lang_form_new_docker_build_env: 'New build environment',
      lang_form_new_docker_build_env_prompt: 'Support users to define their own build environment. The build environment is based on containers. You need to push the container image of the build environment to the default image registry first',
      lang_form_update_docker_build_env: 'Modify build environment configuration ({0})',
      lang_form_update_docker_build_env_prompt: 'Adjust build environment configuration',
      lang_form_delete_docker_build_env: 'Delete build environment ({0})',
      lang_form_delete_docker_build_env_prompt: 'After deletion, you will not be able to use this build environment to compile and build source code',
      lang_form_delete_docker_build_env_build_env_name: 'Build environment name (buildEnvName)*',
      lang_form_delete_docker_build_env_build_env_name_tip_1: 'Are you sure you want to delete {0} build environment? ',
      lang_form_docker_build_env_build_env_name: 'Build environment name (buildEnvName)*',
      lang_form_docker_build_env_build_env_name_tip_1: 'The unique identifier of the build environment, format such as: python-3.10',
      lang_form_docker_build_env_image: 'Build environment container image (image)*',
      lang_form_docker_build_env_image_tip_1: 'Full path to build environment container image, please ensure that the container image can use the user with uid {0} to execute commands, the $HOME directory of this user is {1}',
      lang_form_docker_build_env_image_tip_2: 'The image name when the cpu architecture is amd64',
      lang_form_docker_build_env_image_tip_3: 'Format example: harbor.example.com/public/maven:3.8.5-openjdk-17-dory',
      lang_form_docker_build_env_build_arches: 'Which cpu architectures are supported by the build environment (buildArches)*',
      lang_form_docker_build_env_build_arches_tip_1: 'If the cpu architecture is not amd64, the container image name of the build environment is <image>-<cpu architecture name>',
      lang_form_docker_build_env_build_arches_tip_2: 'For example, the cpu architecture is arm64v8, then the image name of the actual build environment is harbor.example.com/public/maven:3.8.5-openjdk-17-dory-arm64v8',
      lang_form_docker_build_env_registry_username: 'Image registry account (registryUsername)',
      lang_form_docker_build_env_registry_username_tip_1: 'If the container image of the build environment requires an account and password to pull, you need to provide it, otherwise do not fill it in',
      lang_form_docker_build_env_registry_password: 'Image registry password (registryPassword)',
      lang_form_docker_build_env_registry_password_tip_1: 'If the container image of the build environment requires an account and password to pull, you need to provide it, otherwise do not fill it in',
      lang_form_docker_build_env_mount_home_dir: 'Whether to mount the HOME directory (mountHomeDir)',
      lang_form_docker_build_env_mount_home_dir_tip_1: 'Whether to mount the caches directory to the $HOME directory of the container',
      lang_form_docker_build_env_enable_proxy: 'Whether to enable the proxy server (enableProxy)',
      lang_form_docker_build_env_enable_proxy_tip_1: 'Whether to enable external proxy server to pull build dependencies',
      lang_form_docker_build_env_mount_extra_cache_dirs: 'mount extra cache directory (mountExtraCacheDirs)',
      lang_form_docker_build_env_mount_extra_cache_dirs_tip_1: 'The build dependency cache directory outside the $HOME directory and working directory in the mount build container',
      lang_form_docker_build_env_mount_extra_cache_dirs_tip_2: 'For example, the go language needs to mount /go/pkg in the container as a cache',
      lang_form_docker_build_env_mount_extra_cache_dirs_tip_3: 'Enter multiple entries',
      lang_form_docker_build_env_mount_extra_cache_dirs_tip_4: 'The directory must use an absolute path, starting with /',
      lang_form_docker_build_env_commands_before_build: 'What command to execute before executing the build command (commandsBeforeBuild)',
      lang_form_docker_build_env_commands_before_build_tip_1: 'Please use carriage return to separate multiple commands. In the case of multiple commands on the same line, you can use && to connect multiple commands',
      lang_form_docker_build_env_commands_after_check: 'What command to execute after checking the command (commandsAfterCheck)',
      lang_form_docker_build_env_commands_after_check_tip_1: 'Please use carriage return to separate multiple commands. In the case of multiple commands on the same line, you can use && to connect multiple commands',
      lang_form_new_git_repo_config: 'New code repository',
      lang_form_new_git_repo_config_prompt: 'Support users to define their own code repository, the pipeline will pull the project source code from the code repository',
      lang_form_update_git_repo_config: 'Modify code repository configuration ({0})',
      lang_form_update_git_repo_config_prompt: 'Adjust code repository configuration',
      lang_form_delete_git_repo_config: 'Delete code repository ({0})',
      lang_form_delete_git_repo_config_prompt: 'After deletion, the code will not be pulled from the code repository',
      lang_form_delete_git_repo_config_repo_name: 'code repository name (repoName)*',
      lang_form_delete_git_repo_config_repo_name_tip_1: 'Are you sure you want to delete the {0} repository? ',
      lang_form_git_repo_config_kind: 'code repository type (kind)*',
      lang_form_git_repo_config_repo_name: 'Code repository name identification (repoName)*',
      lang_form_git_repo_config_repo_name_tip_1: 'Format example: gitea-dory',
      lang_form_git_repo_config_view_url: 'Code repository browser view url(viewUrl)*',
      lang_form_git_repo_config_view_url_tip_1: 'Format example: http://example.com:30001',
      lang_form_git_repo_config_url: 'The address of the code repository (url)*',
      lang_form_git_repo_config_url_tip_1: 'dory visits the address of the repository',
      lang_form_git_repo_config_url_tip_2: 'Format example: http://gitea:3000',
      lang_form_git_repo_config_insecure: 'Whether to enable insecure mode (insecure)',
      lang_form_git_repo_config_insecure_tip_1: 'If the server is https and uses a self-signed tls certificate, please set this option to true',
      lang_form_git_repo_config_username: 'code repository administrator account (username)*',
      lang_form_git_repo_config_name: 'Code repository administrator display name (name)*',
      lang_form_git_repo_config_mail: 'code repository administrator email(mail)*',
      lang_form_git_repo_config_mail_tip_1: 'Format example: admin@example.com',
      lang_form_git_repo_config_password: 'Code repository administrator password (password)*',
      lang_form_git_repo_config_token: 'code repository administrator token(token)*',
      lang_form_new_image_repo_config: 'New image repository',
      lang_form_new_image_repo_config_prompt: 'Support users to define their own image registry, the pipeline will push the packaged container image to the image registry',
      lang_form_update_image_repo_config: 'Modify image registry configuration ({0})',
      lang_form_update_image_repo_config_prompt: 'Adjust image repository configuration',
      lang_form_delete_image_repo_config: 'Delete image repository ({0})',
      lang_form_delete_image_repo_config_prompt: 'The container image cannot be pushed to the image registry after deletion',
      lang_form_delete_image_repo_config_repo_name: 'Image registry name (repoName)*',
      lang_form_delete_image_repo_config_repo_name_tip_1: 'Are you sure you want to delete {0} image registry? ',
      lang_form_image_repo_config_kind: 'Image registry type (kind)*',
      lang_form_image_repo_config_repo_name: 'Image registry name identification (repoName)*',
      lang_form_image_repo_config_repo_name_tip_1: 'Format example: harbor-dory',
      lang_form_image_repo_config_hostname: 'The domain name of the image registry (hostname)*',
      lang_form_image_repo_config_hostname_tip_1: 'Currently only supports https://<hostname> to access the image registry',
      lang_form_image_repo_config_hostname_tip_2: 'Format example: example.com',
      lang_form_image_repo_config_insecure: 'Whether to enable insecure mode (insecure)',
      lang_form_image_repo_config_insecure_tip_1: 'If the server is https and uses a self-signed tls certificate, please set this option to true',
      lang_form_image_repo_config_username: 'Image registry administrator account (username)*',
      lang_form_image_repo_config_password: 'Image registry administrator password (password)*',
      lang_form_image_repo_config_ip_internal: 'IP address for internal access (ipInternal)*',
      lang_form_image_repo_config_ip_internal_tip_1: 'The internal IP address of the image registry, format such as: 192.168.0.1',
      lang_form_image_repo_config_ip_external: 'IP address for external access (ipExternal)*',
      lang_form_image_repo_config_ip_external_tip_1: 'External network access to the external IP address of the image registry, format such as: 192.168.0.1',
      lang_form_new_artifact_repo_config: 'Add dependency and artifact repository',
      lang_form_new_artifact_repo_config_prompt: 'Support users to define their own dependencies and artifact repositories, the pipeline will pull dependencies from dependencies and artifact repositories to compile and build, and upload artifacts to dependency and artifact repositories',
      lang_form_update_artifact_repo_config: 'Modify dependencies and artifact repository configuration ({0})',
      lang_form_update_artifact_repo_config_prompt: 'Adjust dependencies and artifact repository configuration',
      lang_form_delete_artifact_repo_config: 'Delete dependencies and artifact repositories ({0})',
      lang_form_delete_artifact_repo_config_prompt: 'After deletion, you will not be able to pull dependencies from this dependency and artifact repository, nor can you upload artifacts to this dependency and artifact repository',
      lang_form_delete_artifact_repo_config_repo_name: 'Dependency and artifact repository name (repoName)*',
      lang_form_delete_artifact_repo_config_repo_name_tip_1: 'Are you sure you want to delete {0} dependencies and artifact repositories? ',
      lang_form_artifact_repo_config_kind: 'Dependency and artifact repository type (kind)*',
      lang_form_artifact_repo_config_repo_name: 'Dependency and artifact repository name identification (repoName)*',
      lang_form_artifact_repo_config_repo_name_tip_1: 'Format example: nexus-dory',
      lang_form_artifact_repo_config_view_url: 'Dependency and artifact repository browser view url(viewUrl)*',
      lang_form_artifact_repo_config_view_url_tip_1: 'Format example: http://example.com:30003',
      lang_form_artifact_repo_config_schema_internal: 'Schema for internal access (schemaInternal)*',
      lang_form_artifact_repo_config_schema_external: 'Schema for external access (schemaExternal)*',
      lang_form_artifact_repo_config_schema_external_tip_1: 'If there is only one schema, then schemaExternal and schemaInternal can be set to be the same',
      lang_form_artifact_repo_config_hostname_internal: 'Internal access host name or IP address (hostnameInternal)*',
      lang_form_artifact_repo_config_hostname_internal_tip_1: 'Format example: 192.168.0.1',
      lang_form_artifact_repo_config_hostname_external: 'The host name or IP address for external access (hostnameExternal)*',
      lang_form_artifact_repo_config_hostname_external_tip_1: 'If there is only a unique hostname or IP address, then hostnameExternal and hostnameInternal can be set to be the same',
      lang_form_artifact_repo_config_hostname_external_tip_2: 'Format example: 192.168.0.1',
      lang_form_artifact_repo_config_insecure: 'Whether to enable insecure mode (insecure)*',
      lang_form_artifact_repo_config_insecure_tip_1: 'If the server is https and uses a self-signed tls certificate, please set this option to true',
      lang_form_artifact_repo_config_username: 'artifact repository administrator account (username)*',
      lang_form_artifact_repo_config_username_tip_1: 'Format example: admin',
      lang_form_artifact_repo_config_password: 'Artifact repository administrator password (password)*',
      lang_form_artifact_repo_config_public_role: 'artifact repository public role name (publicRole)',
      lang_form_artifact_repo_config_public_role_tip_1: 'Format example: public-role',
      lang_form_artifact_repo_config_public_user: 'Public account name that pulls third-party open source dependencies (publicUser)*',
      lang_form_artifact_repo_config_public_user_tip_1: 'Format example: public-user',
      lang_form_artifact_repo_config_public_password: 'Pull the public account password (publicPassword)',
      lang_form_artifact_repo_config_port: 'artifact repository service port (port)*',
      lang_form_artifact_repo_config_port_docker: 'docker.io image registry proxy port (portDocker)',
      lang_form_artifact_repo_config_port_gcr: 'gcr.io image registry proxy port (portGcr)',
      lang_form_artifact_repo_config_port_quay: 'quay.io image registry proxy port (portQuay)',
      lang_form_artifact_repo_config_proxy_repo: 'Proxy repository settings, not set means disable proxy mode (proxyRepo)*',
      lang_form_artifact_repo_config_proxy_repo_maven: 'Maven third-party open source dependent repository relative path (maven)',
      lang_form_artifact_repo_config_proxy_repo_maven_tip_1: 'Format example: repository/maven-group-public/',
      lang_form_artifact_repo_config_proxy_repo_npm: 'npm third-party open source dependent repository relative path (npm)',
      lang_form_artifact_repo_config_proxy_repo_npm_tip_1: 'Format example: repository/npm-group-public/',
      lang_form_artifact_repo_config_proxy_repo_pip: 'pypi third-party open source dependent repository relative path (pip)',
      lang_form_artifact_repo_config_proxy_repo_pip_tip_1: 'Format example: repository/pypi-group-public/simple',
      lang_form_artifact_repo_config_proxy_repo_gradle: 'gradle third-party open source dependent repository relative path (gradle)',
      lang_form_artifact_repo_config_proxy_repo_gradle_tip_1: 'Format example: repository/maven-group-public/',
      lang_form_artifact_repo_config_proxy_repo_go: 'go third-party open source dependent repository relative path (go)',
      lang_form_artifact_repo_config_proxy_repo_go_tip_1: 'Format example: repository/go-group-public',
      lang_form_artifact_repo_config_proxy_repo_apt: 'apt source proxy settings (apt)',
      lang_form_artifact_repo_config_proxy_repo_apt_amd64: 'x86 apt proxy source (amd64)',
      lang_form_artifact_repo_config_proxy_repo_apt_amd64_tip_1: 'Format example: repository/apt-aliyun-focal/',
      lang_form_artifact_repo_config_proxy_repo_apt_arm64v8: 'arm64v8 apt proxy source (arm64v8)',
      lang_form_artifact_repo_config_proxy_repo_apt_arm64v8_tip_1: 'Format example: repository/apt-aliyun-focal-arm64/',
      lang_form_new_scan_code_repo_config: 'New code scanning repository',
      lang_form_new_scan_code_repo_config_prompt: 'Support users to define their own code scanning repository, the pipeline will push the code scanning results to the code scanning repository',
      lang_form_update_scan_code_repo_config: 'Modify code scanning repository configuration ({0})',
      lang_form_update_scan_code_repo_config_prompt: 'Adjust code scan repository configuration',
      lang_form_delete_scan_code_repo_config: 'Delete code scan repository ({0})',
      lang_form_delete_scan_code_repo_config_prompt: 'After deletion, the code scanning results will not be pushed to the code scanning repository',
      lang_form_delete_scan_code_repo_config_repo_name: 'code scan repository name (repoName)*',
      lang_form_delete_scan_code_repo_config_repo_name_tip_1: 'Are you sure you want to delete the {0} code scan repository? ',
      lang_form_scan_code_repo_config_kind: 'code scan repository type (kind)*',
      lang_form_scan_code_repo_config_repo_name: 'code scanning repository name identification (repoName)*',
      lang_form_scan_code_repo_config_repo_name_tip_1: 'Format example: Format example: sonarqube-dory',
      lang_form_scan_code_repo_config_view_url: 'Code scan repository external view url(viewUrl)*',
      lang_form_scan_code_repo_config_view_url_tip_1: 'Format example: http://example.com:30008',
      lang_form_scan_code_repo_config_url: 'code scanning repository address (url)*',
      lang_form_scan_code_repo_config_url_tip_1: 'dory visits the address of the repository',
      lang_form_scan_code_repo_config_url_tip_2: 'Format example: http://192.168.0.1:30008',
      lang_form_scan_code_repo_config_insecure: 'Whether to enable insecure mode (insecure)',
      lang_form_scan_code_repo_config_insecure_tip_1: 'If the server is https and uses a self-signed tls certificate, please set this option to true',
      lang_form_scan_code_repo_config_token: 'code scan repository administrator token(token)*',
      lang_form_custom_step_conf_pipeline_variables_tip_1: 'Support to use pipeline variables, usage reference detail in pipeline variables explanation',
      lang_form_custom_step_conf_pipeline_variables_tip_2: 'Support to use paramInputYamlDef variables',
      lang_form_custom_step_conf_custom_step_name: 'Custom step name(customStepName)*',
      lang_form_custom_step_conf_custom_step_name_tip_1: 'Custom step name ID, Example: buildIosApp',
      lang_form_custom_step_conf_custom_step_action_desc: 'Custom step display explanation(customStepActionDesc)*',
      lang_form_custom_step_conf_custom_step_action_desc_tip_1: 'It will create phase, stage, step display explanation automatically. Example: build ios app',
      lang_form_custom_step_conf_custom_step_action_desc_tip_2: 'The phase display explanation generated by the above example are: build ios app in test-env',
      lang_form_custom_step_conf_custom_step_action_desc_tip_3: 'The stage or step display explanation generated by the above example are: build ios app dory-engine in test-env',
      lang_form_custom_step_conf_custom_step_desc: 'Custom step ops explanation(customStepDesc)*',
      lang_form_custom_step_conf_custom_step_desc_tip_1: 'Show in OPS pipeline operation selection',
      lang_form_custom_step_conf_custom_step_desc_tip_2: 'Example: Build ios app in remote macOS host',
      lang_form_custom_step_conf_custom_step_usage: 'Custom step usage explanation(customStepUsage)*',
      lang_form_custom_step_conf_custom_step_usage_tip_1: 'Brief instructions about how to set up this custom step',
      lang_form_custom_step_conf_git_repo: 'Code repository settings where the custom script is located (gitRepo)',
      lang_form_custom_step_conf_git_repo_tip_1: 'The free trial version is not supported',      
      lang_form_custom_step_conf_git_repo_name: 'Select git repository (gitRepoName)',
      lang_form_custom_step_conf_git_repo_name_tip_1: 'Please select the code repository where the custom step script is located, and automatically pull the script code of the custom step from the git repository to the execution container of the custom step /customSteps directory. If it is empty, it means that there is no need to pull the custom step script code',
      lang_form_custom_step_conf_git_repo_path: 'Git repository project path (gitRepoPath)',
      lang_form_custom_step_conf_git_repo_path_tip_1: 'The project path of the custom step script code repository, for example: project_group/project_name',
      lang_form_custom_step_conf_git_repo_branch: 'Branch name (gitRepoBranch)',
      lang_form_custom_step_conf_git_repo_branch_tip_1: 'The branch name where the custom step script code repository is located, for example: master',
      lang_form_custom_step_conf_is_env_diff: 'Different envs with different configurations(isEnvDiff)*',
      lang_form_custom_step_conf_is_env_diff_tip_1: 'Whether different environments require different configurations',
      lang_form_custom_step_conf_is_env_diff_tip_2: 'If true, custom step settings must be set independently for each environment',
      lang_form_custom_step_conf_custom_step_docker_conf: 'Custom step executor settings(customStepDockerConf)*',
      lang_form_custom_step_conf_custom_step_docker_conf_tip_1: 'All custom steps are executed in the executor containers. The following settings are configured for the executor containers startup and running parameters',
      lang_form_custom_step_conf_docker_image: 'Executor container image(dockerImage)*',
      lang_form_custom_step_conf_docker_image_tip_1: 'Please provide the full path of the container image. If you do not use root to execute the command, please ensure that the container image can use the user whose uid is {0} to execute the command',
      lang_form_custom_step_conf_registry_username: 'Image registry account (registryUsername)',
      lang_form_custom_step_conf_registry_username_tip_1: 'If the container image requires an account and password to pull, you need to provide it, otherwise do not fill it in',
      lang_form_custom_step_conf_registry_password: 'Image registry password (registryPassword)',
      lang_form_custom_step_conf_registry_password_tip_1: 'If the container image requires an account and password to pull, you need to provide it, otherwise do not fill it in',      
      lang_form_custom_step_conf_docker_commands: 'Custom step execute commands(dockerCommands)',
      lang_form_custom_step_conf_docker_commands_tip_1: 'The commands execute in executor containers',
      lang_form_custom_step_conf_docker_commands_tip_2: 'Support to use k8sHost variable (apiserver host address of kubernetes environment)',
      lang_form_custom_step_conf_docker_commands_tip_3: 'Support to use k8sPort variable (apiserver port of kubernetes environment)',
      lang_form_custom_step_conf_docker_commands_tip_4: 'Support to use k8sProjectToken variable (project permission accessToken in kubernetes environment)',
      lang_form_custom_step_conf_docker_commands_tip_5: 'Support the use of k8sAdminToken variable (administrator accessToken in the kubernetes environment)',
      lang_form_custom_step_conf_docker_commands_tip_6: 'See the description of pipeline variables for the usage of variables',
      lang_form_custom_step_conf_docker_run_as_root: 'Executor container run as root(dockerRunAsRoot)',
      lang_form_custom_step_conf_docker_run_as_root_tip_1: 'If root is not used as the execution user, then the uid of the execution user is {0}, please pay attention to the execution user permissions of the container',
      lang_form_custom_step_conf_docker_show_commands: 'Show docker commands(dockerShowCommands)',
      lang_form_custom_step_conf_docker_volumes: 'Executor container mount volumes settings(dockerVolumes)',
      lang_form_custom_step_conf_docker_volumes_tip_1: 'Code repository relative path mount which absolute path in executor container',
      lang_form_custom_step_conf_docker_volumes_tip_2: 'Code repository root path will mount in executor containers /<projectName> directory by default',
      lang_form_custom_step_conf_docker_volumes_local_path: 'Code repository relative path(localPath)*',
      lang_form_custom_step_conf_docker_volumes_local_path_tip_1: 'Relative path can not starts with /',
      lang_form_custom_step_conf_docker_volumes_docker_path: 'Containers absolute path(dockerPath)*',
      lang_form_custom_step_conf_docker_volumes_docker_path_tip_1: 'Absolute path must starts with /',
      lang_form_custom_step_conf_docker_envs: 'Executor container environment variables settings(dockerEnvs)',
      lang_form_custom_step_conf_docker_envs_tip_1: 'Container startup environment variables settings',
      lang_form_custom_step_conf_docker_envs_name: 'Variable name',
      lang_form_custom_step_conf_docker_envs_value: 'Variable value',
      lang_form_custom_step_conf_docker_work_dir: 'Executor container working directory(dockerWorkDir)',
      lang_form_custom_step_conf_docker_work_dir_tip_1: 'Absolute path in executor container, must starts with /',
      lang_form_custom_step_conf_param_input_yaml_def: 'Custom step input parameters in YAML format(paramInputYamlDef)',
      lang_form_custom_step_conf_param_input_yaml_def_tip_1: 'Custom step input parameters example and usage explanation in YAML format',
      lang_form_custom_step_conf_param_input_yaml_def_tip_2: 'Show in project definition, users are able to confiurate each modules input parameters',
      lang_form_custom_step_conf_param_input_yaml_def_tip_3: 'The input parameter will be mounted to the {0}.json or .yaml file of the step executor container in the form of a file. The step executor container can read the input parameter and perform corresponding step processing',
      lang_form_custom_step_conf_param_input_yaml_def_tip_4: 'Complete parameter example must be entered',
      lang_form_custom_step_conf_param_input_yaml_def_tip_5: 'Complete example:',
      lang_form_custom_step_conf_param_input_yaml_def_tip_6: '# Build path, code repository relative path(required)*',
      lang_form_custom_step_conf_param_input_yaml_def_tip_7: 'buildPath: Codes/test-ios-app/src',
      lang_form_custom_step_conf_param_input_yaml_def_tip_8: '# Build command args settings(optional)',
      lang_form_custom_step_conf_param_input_yaml_def_tip_9: 'buildArgs: --ignore-test',
      lang_form_custom_step_conf_param_output_yaml_def: 'Custom step output parameters in YAML format(paramOutputYamlDef)',
      lang_form_custom_step_conf_param_output_yaml_def_tip_1: 'After custom step finished execution, if you need to write the execution result into the step execution record, please set this field',
      lang_form_custom_step_conf_param_output_yaml_def_tip_2: 'The output parameters file must write by the custom step, file must write in executor containers {0}.json or .yaml path, the file content will write in step execution records',
      lang_form_custom_step_conf_param_output_yaml_def_tip_3: 'Complete parameter example must be entered',
      lang_form_custom_step_conf_param_output_yaml_def_tip_4: 'Note that the output parameter will automatically generate an empty file when the container starts, please write to this file in append mode. Complete example:',
      lang_form_custom_step_conf_param_output_yaml_def_tip_5: '# Step execution result, if it is set to true, it means that although the command of the step is executed normally, but the step is also set as execution failure, if it is not filled, it means false (built-in parameter)',
      lang_form_custom_step_conf_param_output_yaml_def_tip_6: 'doryStepFail: false',
      lang_form_custom_step_conf_param_output_yaml_def_tip_7: '# The file name that needs to be displayed in the output file of the step details, the file is located in the {0} directory of the container, fill in the file name in this directory (built-in parameter)',
      lang_form_custom_step_conf_param_output_yaml_def_tip_8: 'doryOutputFiles: ["output.txt", "access.log"]',
      lang_form_custom_step_conf_param_output_yaml_def_tip_9: '# Build result file name (custom parameter)',
      lang_form_custom_step_conf_param_output_yaml_def_tip_10: 'buildResult: test-ios-app.ipa',
      lang_form_custom_step_conf_param_output_yaml_def_tip_11: '# Build result size (custom parameter)',
      lang_form_custom_step_conf_param_output_yaml_def_tip_12: 'buildFileSize: 10M',
      lang_form_custom_step_conf_param_input_format: 'Custom step input parameters file format(paramInputFormat)*',
      lang_form_custom_step_conf_param_input_format_tip_1: 'paramInputYamlDef parameters and pipeline variables will writen in the executor container',
      lang_form_custom_step_conf_param_input_format_tip_2: 'The input parameter will be mounted to the {0}.json or .yaml file of the step executor container in the form of a file.',
      lang_form_custom_step_conf_param_input_format_tip_3: 'Custom step can read the input parameter and pipeline variables from this file',
      lang_form_custom_step_conf_param_input_format_tip_4: 'Input parameters file support YAML or JSON format',
      lang_form_custom_step_conf_param_output_format: 'Custom step output parameters file format(paramOutputFormat)*',
      lang_form_custom_step_conf_param_output_format_tip_1: 'The output parameters file must write by the custom step, file must write in executor containers {0}.json or .yaml path, the file content will write in step execution records',
      lang_form_custom_step_conf_param_output_format_tip_2: 'paramOutputYamlDef parameters please write to the file in the executor container',
      lang_form_custom_step_conf_param_output_format_tip_3: 'After step finished, pipeline will read this file and write it into step execution records',
      lang_form_custom_step_conf_param_output_format_tip_4: 'Output parameters file support YAML or JSON format',
      lang_form_new_custom_step: 'Create new custom step',
      lang_form_new_custom_step_prompt: 'After create new custom step, each project can use this custom step by set it in project definition',
      lang_form_update_custom_step: 'Update custom step {0}',
      lang_form_update_custom_step_prompt: 'Update custom step {0}, all projects use this custom step will be updated',
      lang_form_delete_custom_step: 'Delete custom step {0}',
      lang_form_delete_custom_step_prompt: 'Delete custom step, please make sure there is no project use this custom step',
      lang_form_delete_custom_step_custom_step_name: 'Please input custom step name(customStepName)*',
      lang_form_delete_custom_step_custom_step_name_tip_1: 'Are you sure delete custom step {0}?',
      lang_form_component_template_component_name: 'Component template name(componentName)',
      lang_form_component_template_component_name_tip_1: 'Example: mysql-v802',
      lang_form_component_template_component_desc: 'Component template display name(componentDesc)',
      lang_form_component_template_component_desc_tip_1: 'Example: MYSQL-V802',
      lang_form_new_component_template: 'Create new component template',
      lang_form_new_component_template_prompt: 'After create component template, you can use the template to quickly create components in the project console',
      lang_form_update_component_template: 'Update component template {0}',
      lang_form_update_component_template_prompt: 'Update component template {0}',
      lang_form_delete_component_template: 'Delete component template {0}',
      lang_form_delete_component_template_prompt: 'Delete component template {0}',
      lang_form_delete_component_template_tip_1: 'Are you sure delete component template {0}?',
      lang_form_new_access_token: 'Create new access token',
      lang_form_new_access_token_prompt: 'The access token is used to directly call the API through the back-end service. When calling the API, the header information of x-access-token: xxx needs to be provided in the requested header',
      lang_form_new_access_token_access_token_name: 'Access token name(accessTokenName)*',
      lang_form_new_access_token_access_token_name_tip_1: 'Access token name, please can not be duplicated. Example: devops-20220202',
      lang_form_new_access_token_expire_days: 'Expires days(expireDays)*',
      lang_form_new_access_token_expire_days_tip_1: 'The validity period of the access token, unit: days',
      lang_form_change_password: 'Change password',
      lang_form_change_password_old_password: 'Old password(oldPassword)*',
      lang_form_change_password_old_password_tip_1: 'Please input old password',
      lang_form_change_password_new_password: 'New password(newPassword)*',
      lang_form_change_password_new_password_tip_1: 'The length of the password cannot be less than 8 characters, and must contain uppercase and lowercase English numbers and special characters',
      lang_form_change_password_confirm_password: 'Confirm password(confirmPassword)*',
      lang_form_change_password_confirm_password_tip_1: 'Please repeat the new password',
      lang_form_edit_profile: 'Edit profile',
      lang_form_edit_profile_prompt: 'Edit user profile',
      lang_form_edit_profile_clip_image: 'Clip image',
      lang_form_free_trial_not_supported: 'Free trial version not supported',
      lang_tip_login_timout: 'Login timeout, please re-login',
      lang_tip_copy_success: 'Content successfully copied to clipboard',
      lang_tip_copy_failed: 'Copy failed',
      lang_tip_loading_data: 'Loading data ...',
      lang_tip_select_nothing: 'Nothing selected',
      lang_tip_no_history_records: 'No history records available',
      lang_tip_please_input: 'Please input first',
      lang_tip_wait_api_input: 'Waiting for API request to continue',
      lang_tip_please_select_items_to_copy: 'Please select items to copy',
      lang_tip_please_check_all_input_is_correct: 'Please check that all information is filled in correctly',
      lang_tip_please_check_conflict: 'There is configuration item conflict',
      lang_tip_please_select_time_range_days_custom: 'Please select custom time range',
      lang_tip_format_not_correct: 'Format not correct',
      lang_tip_no_data_available: 'No data available',
      lang_tip_confirm_password_new_password_must_be_same: 'Confirm password and new password must be same',
      lang_tip_login_exception: 'Login exception',
      lang_tip_reset_mail_sent: 'Password reset mail has already sent to your email',
      lang_tip_reset_password_success: 'Password reset success, please login again',
    }
  },
  zh: {
    $vuetify: {
      ...zhHans,
      lang_menu_login: '登录',
      lang_menu_confirm: '确认',
      lang_menu_cancel: '取消',
      lang_menu_open: '打开',
      lang_menu_copy: '复制',
      lang_menu_close: '关闭',
      lang_menu_download: '下载',
      lang_menu_cicd: '应用上云',
      lang_menu_metrics: '度量统计',
      lang_menu_project_console: '项目控制台',
      lang_menu_admin_console: '管理控制台',
      lang_menu_announcements: '公告',
      lang_menu_access_token: '访问token',
      lang_menu_change_password: '修改密码',
      lang_menu_edit_profile: '修改资料',
      lang_menu_logout: '退出登录',
      lang_menu_runs: '运行记录',
      lang_menu_runs_fixed: '运行修复记录',
      lang_menu_runs_queue: '运行队列',
      lang_menu_commits: 'commit提交记录',
      lang_menu_steps: '步骤执行记录',
      lang_menu_steps_branches: '分支最新步骤执行记录 ({0})',
      lang_menu_steps_envs: '环境最新步骤执行记录 ({0})',
      lang_menu_notifications: '通知',
      lang_menu_metrics_runs: '运行',
      lang_menu_metrics_steps: '步骤',
      lang_menu_metrics_builds: '构建',
      lang_menu_metrics_scan_codes: '代码扫描',
      lang_menu_metrics_scan_images: '镜像扫描',
      lang_menu_metrics_packages: '镜像打包',
      lang_menu_metrics_artifacts: '制品打包',
      lang_menu_metrics_deploy_containers: '容器部署',
      lang_menu_metrics_deploy_artifacts: '制品部署',
      lang_menu_metrics_check_deploys: '容器状态检查',
      lang_menu_metrics_check_quota: '资源配额检查',
      lang_menu_metrics_auto_tests: '自动化测试',
      lang_menu_metrics_custom_steps: '自定义步骤',
      lang_menu_metrics_commits: '代码提交',
      lang_menu_metrics_audit_logs: '审计日志',
      lang_menu_projects_management: '项目管理',
      lang_menu_users_management: '用户管理',
      lang_menu_envs_management: '环境管理',
      lang_menu_tenants_management: '租户管理',
      lang_menu_docker_build_envs_management: '构建环境管理',
      lang_menu_repo_configs_management: '仓库配置管理',      
      lang_menu_custom_steps_management: '自定义步骤管理',
      lang_menu_component_templates_management: '组件模板管理',
      lang_menu_admin_webhook_settings: '管理webhook设置',
      lang_menu_admin_webhook: '管理webhook',
      lang_menu_admin_webhook_logs: '管理webhook触发日志',
      lang_menu_runs_queues_management: '运行队列管理',
      lang_menu_audit_logs_management: '审计日志管理',
      lang_menu_applies_management: '申请管理',
      lang_menu_mail_send_logs_management: '邮件发送日志管理',
      lang_menu_mail_send_logs: '邮件发送日志',
      lang_menu_notifications_management: '通知管理',
      lang_menu_webhook_logs_management: 'webhook触发日志管理',
      lang_menu_mail_logs_management: '邮件触发日志管理',
      lang_menu_system_config: '查看系统配置',
      lang_menu_git_repo: '代码仓库',
      lang_menu_image_repo: '镜像仓库',
      lang_menu_artifact_repo: '制品仓库',
      lang_menu_scan_code_repo: '代码扫描仓库',
      lang_menu_project_def: '项目定义',
      lang_menu_pipeline_def: '流水线定义',
      lang_menu_build_def: '模块构建定义',
      lang_menu_package_def: '模块镜像打包定义',
      lang_menu_artifact_def: '模块制品打包定义',
      lang_menu_docker_ignore_def: '镜像打包忽略定义',
      lang_menu_custom_step_def: '自定义步骤模块定义',
      lang_menu_env_custom_step_def: '环境相关自定义步骤模块定义',
      lang_menu_ops_def: 'OPS操作定义',
      lang_menu_ops_batch_def: 'OPS批处理定义',
      lang_menu_deploy_container_def: '模块容器部署定义',
      lang_menu_deploy_artifact_def: '模块制品部署定义',
      lang_menu_istio_def: '模块服务网格定义',
      lang_menu_istio_gateway_def: '模块服务网格网关定义',
      lang_menu_execute: '执行',
      lang_menu_execute_batch: '执行批处理',
      lang_menu_view_logs: '查看日志',
      lang_menu_abort_run: '终止执行',
      lang_menu_redo_run: '重新执行',
      lang_menu_module_hide: '隐藏模块',
      lang_menu_module_show: '显示模块',
      lang_menu_view_run_def: '查看运行定义',
      lang_menu_view_detail: '查看详情',
      lang_menu_select_options: '选择操作',
      lang_menu_apply_new_user: '申请开通账号',
      lang_menu_apply_other: '其他类型申请',
      lang_menu_apply_new_project_node_ports: '申请新NodePort',
      lang_menu_apply_delete_project_node_ports: '申请回收NodePort',
      lang_menu_apply_new_project_envs: '申请分配新环境',
      lang_menu_apply_delete_project_envs: '申请移除项目环境',
      lang_menu_apply_delete_project_envs_all: '申请移除项目环境并清理名字空间',
      lang_menu_apply_update_project: '申请修改项目信息',
      lang_menu_apply_delete_project: '申请删除项目',
      lang_menu_refresh_all_token: '更新所有token',
      lang_menu_re_apply_kubernetes: '重新应用所有环境配置',
      lang_menu_assign_permissions: '分配权限',
      lang_menu_change_permissions: '修改权限',
      lang_menu_delete_permissions: '移除权限',
      lang_menu_new_pipeline: '新增流水线',
      lang_menu_delete_pipeline: '删除流水线',
      lang_menu_assign_pipeline_envs: '为流水线分配环境',
      lang_menu_refresh_pipeline_token: '刷新流水线token',
      lang_menu_copy_pipeline_token_url: '复制流水线触发URL',
      lang_menu_add_pipeline_crontab: '新增计划任务',
      lang_menu_delete_pipeline_crontab: '删除计划任务',
      lang_menu_add_pipeline_trigger: '新增触发器',
      lang_menu_update_pipeline_trigger: '修改触发器',
      lang_menu_delete_pipeline_trigger: '删除触发器',
      lang_menu_update_admin_webhook: '修改管理webhook',
      lang_menu_delete_admin_webhook: '删除管理webhook',
      lang_menu_apply_update_resource_quota: '申请调整资源配额',
      lang_menu_apply_assign_pv: '申请分配新持久化卷',
      lang_menu_apply_remove_pv: '申请回收持久化卷',
      lang_menu_new_network_policy: '新增网络策略',
      lang_menu_network_policy_dashboard: '网络策略dashboard',
      lang_menu_delete_network_policy: '删除网络策略',
      lang_menu_new_host: '配置新主机',
      lang_menu_update_host: '修改主机信息',
      lang_menu_add_host_to_other_project: '把主机加入到其他项目',
      lang_menu_remove_host_from_env: '从环境移除主机',
      lang_menu_delete_host: '彻底删除主机',
      lang_menu_new_database: '配置新数据库',
      lang_menu_update_database: '修改数据库信息',
      lang_menu_add_database_to_other_project: '把数据库加入到其他项目',
      lang_menu_remove_database_from_env: '从环境移除数据库',
      lang_menu_delete_database: '彻底删除数据库',
      lang_menu_new_debug_component: '新增调试组件',
      lang_menu_update_debug_component: '修改调试组件',
      lang_menu_delete_debug_component: '删除调试组件',
      lang_menu_new_component: '新增组件',
      lang_menu_update_component: '修改组件',
      lang_menu_delete_component: '删除组件',
      lang_menu_apply_comment: '留言',
      lang_menu_apply_accept: '接受',
      lang_menu_apply_return: '退回',
      lang_menu_apply_modify: '修改',
      lang_menu_apply_close: '关闭',
      lang_menu_apply_reply: '回复',
      lang_menu_apply_apply: '申请',
      lang_menu_apply_execute: '执行申请',
      lang_menu_new_announcement: '发布公告',
      lang_menu_delete_announcement: '删除公告',
      lang_menu_set_read: '设置已读',
      lang_menu_new_project: '开通项目',
      lang_menu_new_project_node_ports: '分配新NodePort',
      lang_menu_new_project_envs: '分配新环境',
      lang_menu_update_project: '修改项目信息',
      lang_menu_delete_project: '删除项目',
      lang_menu_update_resource_quota: '调整资源配额',
      lang_menu_assign_pv: '分配新持久化卷',
      lang_menu_remove_pv: '回收持久化卷',
      lang_menu_new_user: '开通账号',
      lang_menu_delete_user: '删除账号',
      lang_menu_update_user_tenant_admins: '设置项目租户管理员',
      lang_menu_new_env: '新增环境',
      lang_menu_update_env: '修改环境',
      lang_menu_delete_env: '删除环境',
      lang_menu_new_pv: '新增持久化卷',
      lang_menu_delete_pv: '删除持久化卷',
      lang_menu_new_tenant: '新增租户',
      lang_menu_update_tenant: '修改租户',
      lang_menu_delete_tenant: '删除租户',
      lang_menu_new_docker_build_env: '新增构建环境',
      lang_menu_update_docker_build_env: '修改构建环境',
      lang_menu_delete_docker_build_env: '删除构建环境',
      lang_menu_new_git_repo_config: '新增代码仓库',
      lang_menu_update_git_repo_config: '修改代码仓库',
      lang_menu_delete_git_repo_config: '删除代码仓库',
      lang_menu_new_image_repo_config: '新增镜像仓库',
      lang_menu_update_image_repo_config: '修改镜像仓库',
      lang_menu_delete_image_repo_config: '删除镜像仓库',
      lang_menu_new_artifact_repo_config: '新增依赖与制品仓库',
      lang_menu_update_artifact_repo_config: '修改依赖与制品仓库',
      lang_menu_delete_artifact_repo_config: '删除依赖与制品仓库',
      lang_menu_new_scan_code_repo_config: '新增代码扫描仓库',
      lang_menu_update_scan_code_repo_config: '修改代码扫描仓库',
      lang_menu_delete_scan_code_repo_config: '删除代码扫描仓库',
      lang_menu_new_custom_step: '新增自定义步骤',
      lang_menu_update_custom_step: '修改自定义步骤',
      lang_menu_delete_custom_step: '删除自定义步骤',
      lang_menu_new_component_template: '新增组件模板',
      lang_menu_update_component_template: '修改组件模板',
      lang_menu_delete_component_template: '删除组件模板',
      lang_menu_add_admin_webhook: '新增管理webhook',
      lang_menu_update_admin_webhook: '修改管理webhook',
      lang_menu_delete_admin_webhook: '删除管理webhook',
      lang_menu_run_queue_top: '队列置顶',
      lang_menu_reload_system_config: '重新装载配置',
      lang_menu_new_access_token: '新增访问token',
      lang_menu_revoke_access_token: '回收访问token',
      lang_menu_def_history_version: '历史版本',
      lang_menu_def_history_roll_back: '回滚到这个历史版本',
      lang_menu_pipeline_variables_desc: '流水线变量说明',
      lang_menu_update_def_comment: '填写修改项目定义备注',
      lang_menu_def_new_item: '新增配置',
      lang_menu_def_view_yaml: '查看YAML定义',
      lang_menu_def_view_deployment_yaml: '查看生成的部署YAML',
      lang_menu_def_confirm_change: '提交更新',
      lang_menu_def_copy_to_envs: '复制定义到其他环境',
      lang_menu_def_copy_to_branches: '复制流水线定义到其他分支',
      lang_menu_cron_copy_to_branches: '复制计划任务到其他分支',
      lang_menu_trigger_copy_to_branches: '复制触发器到其他分支',
      lang_menu_delete: '删除',
      lang_menu_search: '查找',
      lang_view_cicd: '应用上云',
      lang_view_operations: '操作',
      lang_view_project_name: '项目名',
      lang_view_project_team: '项目团队',
      lang_view_project_arch: '项目架构',
      lang_view_project_namespace: '项目名字空间',
      lang_view_project_repo: '项目仓库',
      lang_view_account: '账号',
      lang_view_project_available_envs: '可用环境信息',
      lang_view_project_privileged: '特权模式',
      lang_view_pipelines_list: '流水线列表',
      lang_view_pipeline_name: '流水线名称',
      lang_view_pipeline_type: '流水线类型',
      lang_view_branch_name: '分支名称',
      lang_view_ci_envs: '测试环境',
      lang_view_production_envs: '生产环境',
      lang_view_success_fail_abort_count: '成功/失败/终止次数',
      lang_view_succes_count: '成功次数',
      lang_view_fail_count: '失败次数',
      lang_view_abort_count: '终止次数',
      lang_view_latest_run_time: '最新启动时间',
      lang_view_latest_run_result: '最新运行结果',
      lang_view_project_detail: '项目详情',
      lang_view_project_info: '项目基础信息',
      lang_view_project_token: '项目token信息',
      lang_view_project_image_repo_password: '镜像仓库密码',
      lang_view_project_artifact_repo_password: '制品仓库密码',
      lang_view_project_scan_code_repo_password: '代码扫描仓库密码',
      lang_view_project_scan_code_repo_token: '代码扫描仓库token',
      lang_view_project_kubernetes_token: 'kubernetes环境token',
      lang_view_project_artifact: '项目制品',
      lang_view_project_artifact_attribute: '属性',
      lang_view_project_artifact_value: '值',
      lang_view_project_artifact_path: '制品路径',
      lang_view_project_artifact_name: '文件名称',
      lang_view_project_artifact_size: '制品大小',
      lang_view_project_artifact_create_step: '创建步骤',
      lang_view_project_artifact_file_type: '文件类型',
      lang_view_project_artifact_md5_checksum: 'MD5 checksum',
      lang_view_project_artifact_sha1_checksum: 'SHA1 checksum',
      lang_view_update_time: '更新时间',
      lang_view_runs_list: '运行记录',
      lang_view_run_name: '运行名称',
      lang_view_project_pipeline_name: '项目/流水线名称',
      lang_view_tag_name: '标签',
      lang_view_git_tags: '代码仓库tags',
      lang_view_git_refs: '代码仓库refs',
      lang_view_trigger_kind: '触发方式',
      lang_view_start_user: '启动用户',
      lang_view_abort_user: '终止用户',
      lang_view_step_stats: '资源消耗情况',
      lang_view_start_time: '启动时间',
      lang_view_end_time: '结束时间',
      lang_view_duration: '时长',
      lang_view_run_result: '运行结果',
      lang_view_project_def: '项目定义',
      lang_view_build_def: '模块构建定义',
      lang_view_package_def: '模块镜像打包定义',
      lang_view_artifact_def: '模块制品打包定义',
      lang_view_docker_ignore_def: '镜像打包忽略定义',
      lang_view_custom_step_def: '自定义步骤模块定义',
      lang_view_env_custom_step_def: '环境相关自定义步骤模块定义',
      lang_view_ops_def: 'OPS操作定义',
      lang_view_ops_batch_def: 'OPS批处理定义',
      lang_view_deploy_container_def: '模块容器部署定义',
      lang_view_deploy_artifact_def: '模块制品部署定义',
      lang_view_istio_def: '模块服务网格定义',
      lang_view_istio_gateway_def: '模块服务网格网关定义',
      lang_view_related_def: '相关定义',
      lang_view_pipelines_settings: '项目流水线设置',
      lang_view_envs_settings: '项目环境设置',
      lang_view_pipeline_detail: '流水线详情',
      lang_view_pipeline_info: '流水线基础信息',
      lang_view_module_detail: '模块详情',
      lang_view_module_info: '模块基础信息',
      lang_view_module_name: '模块名',
      lang_view_module_type: '模块类型',
      lang_view_module_is_latest: '是否最新',
      lang_view_module_latest_run_time: '最新运行时间',
      lang_view_module_runs_count: '运行次数',
      lang_view_module_latest_run_name: '最新运行名称',
      lang_view_module_type_build: '构建模块',
      lang_view_module_type_package: '镜像打包模块',
      lang_view_module_type_deploy: '容器部署模块',
      lang_view_module_type_artifact: '制品打包模块',
      lang_view_module_type_deploy_artifact: '制品部署模块',
      lang_view_git_repo_dir_build_settings_dir: '构建依赖拉取配置目录',
      lang_view_git_repo_dir_database_scripts_dir: '数据库脚本目录',
      lang_view_git_repo_dir_demo_codes_dir: '演示代码目录',
      lang_view_git_repo_dir_deploy_scripts_dir: '主机部署脚本目录',
      lang_view_git_repo_dir_documents_dir: '演示文档目录',
      lang_view_git_repo_dir_test_scripts_dir: '自动化测试脚本目录',
      lang_view_steps: '步骤执行记录',
      lang_view_run_detail: '运行详情',
      lang_view_run_logs: '运行日志',
      lang_view_run_commits: 'commit提交记录',
      lang_view_run_modules: '运行模块',
      lang_view_run: '运行',
      lang_view_phase: '阶段',
      lang_view_stage: '环节',
      lang_view_step: '步骤',
      lang_view_run_node_type: '节点类型',
      lang_view_run_node_name: '节点名称',
      lang_view_status: '状态',
      lang_view_runs_fixed: '运行修复记录',
      lang_view_error_start_time: '错误发生时间',
      lang_view_success_run_name: '成功运行名称',
      lang_view_error_close_time: '错误关闭时间',
      lang_view_runs_queue: '运行队列',
      lang_view_commits: 'commit提交记录',
      lang_view_commit_hash: 'commit',
      lang_view_commit_modify_line_count: '修改代码行数',
      lang_view_commit_message: 'commit消息',
      lang_view_committee: '提交者',
      lang_view_committee_mail: '提交者邮箱',
      lang_view_commit_detail: 'commit详情',
      lang_view_commit_changes_detail: '文件变更详情',
      lang_view_commit_changes_type: '变更',
      lang_view_commit_changes_file: '文件名',
      lang_view_commit_changes_status: '变更状态',
      lang_view_pipeline_variable: '流水线变量',
      lang_view_step_desc: '步骤描述',
      lang_view_step_action: '步骤类型',
      lang_view_env: '环境',
      lang_view_ingress_def: 'ingress定义',
      lang_view_mesh_enable: '是否启用网格',
      lang_view_mesh_def: '网格定义',
      lang_view_mesh_build_id_default: '默认版本buildID',
      lang_view_mesh_build_id_new: '新版本buildID',
      lang_view_mesh_weight: '新版本流量比例',
      lang_view_artifact_name: '制品名称',
      lang_view_artifact_files: '文件信息',
      lang_view_artifact_size: '制品大小',
      lang_view_build_path: '构建目录',
      lang_view_build_env: '构建环境',
      lang_view_build_command: '构建命令',
      lang_view_build_check: '检查命令',
      lang_view_latest_commit: '最新commit提交',
      lang_view_deploy_status: '部署状态',
      lang_view_pods_status: '容器状态',
      lang_view_pods_pod_spec: 'Pod详情',
      lang_view_pods_error_describe: '错误描述',
      lang_view_pods_error_logs: '错误日志',
      lang_view_resource_quota_detail: '资源配额详情',
      lang_view_resource_quota_percentage_status: '资源配额占比情况',
      lang_view_resource_quota_memory_request_percentage: 'memory request 已使用配额百分比',
      lang_view_resource_quota_memory_limit_percentage: 'memory limit 已使用配额百分比',
      lang_view_resource_quota_cpu_request_percentage: 'cpu request 已使用配额百分比',
      lang_view_resource_quota_cpu_limit_percentage: 'cpu limit 已使用配额百分比',
      lang_view_resource_quota_pods_limit_percentage: 'pods 数量已使用配额百分比',
      lang_view_operation_type: '操作类型',
      lang_view_image_tag_name: '镜像标签',
      lang_view_created_deployment_yaml: '生成部署YAML',
      lang_view_current_deployment_yaml: '当前部署状态',
      lang_view_input_user: '输入用户',
      lang_view_input_value: '输入值',
      lang_view_input_variables: '接口输入变量',
      lang_view_image_size: '镜像大小',
      lang_view_docker_file: 'Dockerfile',
      lang_view_architecture: '架构',
      lang_view_scan_code_status: '代码扫描状态',
      lang_view_scan_code_result: '代码扫描结果',
      lang_view_scan_image_status: '镜像扫描状态',
      lang_view_scan_image_statistics: '镜像扫描结果统计',
      lang_view_scan_image_metadata: '镜像元数据',
      lang_view_scan_image_result: '镜像扫描结果',
      lang_view_scan_image_gate: '镜像扫描门禁状态',
      lang_view_scan_image_checkout: '镜像扫描结果记录',
      lang_view_image_tag_source: '源镜像名',
      lang_view_image_tag_target: '目标镜像名',
      lang_view_test_stat: '测试结果统计',
      lang_view_test_result: '测试结果',
      lang_view_test_report: '测试报告',
      lang_view_test_report_archive: '测试报告归档',
      lang_view_param_input: '输入参数',
      lang_view_param_output: '输出参数',
      lang_view_ignored: '是否忽略',
      lang_view_output_file: '输出文件',
      lang_view_output_file_archive: '输出文件归档',
      lang_view_archive_url: '部署归档文件',
      lang_view_is_try: '只校验不部署',
      lang_view_hosts_ini: '主机设置',
      lang_view_tasks: '部署任务',
      lang_view_read: '已读',
      lang_view_unread: '未读',
      lang_view_sql_content: 'SQL脚本',
      lang_view_related_build_records: '相关构建记录',
      lang_view_related_package_record: '相关镜像打包记录',
      lang_view_related_artifact_record: '相关制品打包记录',
      lang_view_metrics_runs_count: '流水线执行次数(次)',
      lang_view_metrics_runs_duration: '流水线平均执行时长(秒)',
      lang_view_metrics_runs_weekly: '流水线执行次数周环比(次)',
      lang_view_metrics_runs_status_rate: '流水线执行状态比率(百分比)',
      lang_view_metrics_runs_fixruns_duration: '流水线平均红灯修复时长(分)',
      lang_view_metrics_steps_count: '步骤执行次数(次)',
      lang_view_metrics_steps_duration: '步骤平均执行时长(秒)',
      lang_view_metrics_steps_weekly: '步骤执行次数周环比(次)',
      lang_view_metrics_steps_status_rate: '步骤执行状态比率(百分比)',
      lang_view_metrics_builds_count: '构建执行次数(次)',
      lang_view_metrics_builds_duration: '构建平均执行时长(秒)',
      lang_view_metrics_builds_weekly: '构建执行次数周环比(次)',
      lang_view_metrics_builds_status_rate: '构建执行状态比率(百分比)',
      lang_view_metrics_scan_codes_count: '代码扫描执行次数(次)',
      lang_view_metrics_scan_codes_duration: '代码扫描平均执行时长(秒)',
      lang_view_metrics_scan_codes_weekly: '代码扫描执行次数周环比(次)',
      lang_view_metrics_scan_codes_status_rate: '代码扫描执行状态比率(百分比)',
      lang_view_metrics_scan_images_count: '镜像扫描执行次数(次)',
      lang_view_metrics_scan_images_duration: '镜像扫描平均执行时长(秒)',
      lang_view_metrics_scan_images_weekly: '镜像扫描执行次数周环比(次)',
      lang_view_metrics_scan_images_status_rate: '镜像扫描执行状态比率(百分比)',
      lang_view_metrics_scan_images_average_vuls_total: '平均漏洞总数(个)',
      lang_view_metrics_scan_images_average_vuls_unknown: '平均未知漏洞总数(个)',
      lang_view_metrics_scan_images_average_vuls_low: '平均低级漏洞总数(个)',
      lang_view_metrics_scan_images_average_vuls_medium: '平均中级漏洞总数(个)',
      lang_view_metrics_scan_images_average_vuls_high: '平均高级漏洞总数(个)',
      lang_view_metrics_scan_images_average_vuls_critical: '平均关键漏洞总数(个)',
      lang_view_metrics_packages_count: '镜像打包执行次数(次)',
      lang_view_metrics_packages_duration: '镜像打包平均执行时长(秒)',
      lang_view_metrics_packages_weekly: '镜像打包执行次数周环比(次)',
      lang_view_metrics_packages_status_rate: '镜像打包执行状态比率(百分比)',
      lang_view_metrics_packages_average_size: '镜像打包平均大小(M)',
      lang_view_metrics_packages_total_size: '镜像打包总大小(M)',
      lang_view_metrics_artifacts_count: '制品打包执行次数(次)',
      lang_view_metrics_artifacts_duration: '制品打包平均执行时长(秒)',
      lang_view_metrics_artifacts_weekly: '制品打包执行次数周环比(次)',
      lang_view_metrics_artifacts_status_rate: '制品打包执行状态比率(百分比)',
      lang_view_metrics_artifacts_average_size: '制品打包平均大小(M)',
      lang_view_metrics_artifacts_total_size: '制品打包总大小(M)',
      lang_view_metrics_deploy_containers_count: '容器部署执行次数(次)',
      lang_view_metrics_deploy_containers_duration: '容器部署平均执行时长(秒)',
      lang_view_metrics_deploy_containers_weekly: '容器部署执行次数周环比(次)',
      lang_view_metrics_deploy_containers_status_rate: '容器部署执行状态比率(百分比)',
      lang_view_metrics_deploy_artifacts_count: '制品部署执行次数(次)',
      lang_view_metrics_deploy_artifacts_duration: '制品部署平均执行时长(秒)',
      lang_view_metrics_deploy_artifacts_weekly: '制品部署执行次数周环比(次)',
      lang_view_metrics_deploy_artifacts_status_rate: '制品部署执行状态比率(百分比)',
      lang_view_metrics_check_deploys_count: '容器状态检查执行次数(次)',
      lang_view_metrics_check_deploys_duration: '容器状态检查平均执行时长(秒)',
      lang_view_metrics_check_deploys_weekly: '容器状态检查执行次数周环比(次)',
      lang_view_metrics_check_deploys_status_rate: '容器状态检查执行状态比率(百分比)',
      lang_view_metrics_check_quotas_count: '资源配额检查执行次数(次)',
      lang_view_metrics_check_quotas_duration: '资源配额检查平均执行时长(秒)',
      lang_view_metrics_check_quotas_weekly: '资源配额检查执行次数周环比(次)',
      lang_view_metrics_check_quotas_status_rate: '资源配额检查执行状态比率(百分比)',
      lang_view_metrics_check_quotas_memory_request_average: 'memory request已使用均值(M)',
      lang_view_metrics_check_quotas_memory_limit_average: 'memory limit已使用均值(M)',
      lang_view_metrics_check_quotas_cpu_request_average: 'cpu request已使用均值(Core)',
      lang_view_metrics_check_quotas_cpu_limit_average: 'cpu limit已使用均值(Core)',
      lang_view_metrics_check_quotas_pods_limit_average: 'pods limit已使用均值(个)',
      lang_view_metrics_check_quotas_memory_request_rate: 'memory request已使用比率(百分比)',
      lang_view_metrics_check_quotas_memory_limit_rate: 'memory limit已使用比率(百分比)',
      lang_view_metrics_check_quotas_cpu_request_rate: 'cpu request已使用比率(百分比)',
      lang_view_metrics_check_quotas_cpu_limit_rate: 'cpu limit已使用比率(百分比)',
      lang_view_metrics_check_quotas_pods_limit_rate: 'pods limit已使用比率(百分比)',
      lang_view_metrics_auto_tests_count: '自动化测试执行次数(次)',
      lang_view_metrics_auto_tests_duration: '自动化测试平均执行时长(秒)',
      lang_view_metrics_auto_tests_weekly: '自动化测试执行次数周环比(次)',
      lang_view_metrics_auto_tests_status_rate: '自动化测试执行状态比率(百分比)',
      lang_view_metrics_auto_tests_average_test_total: '平均测试用例总数(个)',
      lang_view_metrics_auto_tests_average_test_pass: '平均测试用例通过总数(个)',
      lang_view_metrics_auto_tests_average_test_fail: '平均测试用例失败总数(个)',
      lang_view_metrics_auto_tests_average_test_skip: '平均测试用例忽略总数(个)',
      lang_view_metrics_custom_steps_count: '自定义步骤执行次数(次)',
      lang_view_metrics_custom_steps_duration: '自定义步骤平均执行时长(秒)',
      lang_view_metrics_custom_steps_weekly: '自定义步骤执行次数周环比(次)',
      lang_view_metrics_custom_steps_status_rate: '自定义步骤执行状态比率(百分比)',
      lang_view_metrics_commits_count: 'commit提交次数(次)',
      lang_view_metrics_commits_lines_count: 'commit提交修改代码行数(行)',
      lang_view_metrics_commits_weekly: 'commit提交次数周环比(次)',
      lang_view_metrics_commits_lines_weekly: 'commit提交修改代码行数周环比(行)',
      lang_view_metrics_audit_logs_count: '审计日志记录数(次)',
      lang_view_metrics_audit_logs_duration: '审计日志平均持续时长(秒)',
      lang_view_metrics_audit_logs_weekly: '审计日志记录数周环比(次)',
      lang_view_metrics_audit_logs_status_rate: '审计日志状态比率(百分比)',
      lang_view_project_users_permissions: '项目用户权限',
      lang_view_avatar: '头像',
      lang_view_username: '用户名',
      lang_view_is_active: '是否激活状态',
      lang_view_is_admin: '是否管理员',
      lang_view_project_role: '项目角色',
      lang_view_git_push_execute_pipeline: 'git push触发执行流水线',
      lang_view_crontab_settings: '计划任务设置',
      lang_view_crontab_execute_minute: '计划执行分钟',
      lang_view_crontab_execute_hour: '计划执行小时',
      lang_view_crontab_execute_day: '计划执行日',
      lang_view_crontab_execute_month: '计划执行月份',
      lang_view_crontab_execute_week_day: '计划执行星期几',
      lang_view_all_time: '全部时间',
      lang_view_trigger_settings: '触发器设置',
      lang_view_trigger_before_execute: '是否步骤执行前触发',
      lang_view_trigger_type: '触发方式',
      lang_view_trigger_statuses: '触发状态',
      lang_view_trigger_mail_committee: '邮件通知所有代码提交者',
      lang_view_trigger_notice_committee: '通知所有代码提交者',
      lang_view_webhook_request_url: 'webhook请求url',
      lang_view_webhook_request_method: 'webhook请求方法',
      lang_view_notifications_users: '接收通知用户',
      lang_view_env_resource_quotas_settings: '环境资源配额设置',
      lang_view_project_namespace_quota: '项目总资源配额',
      lang_view_project_default_quota: '容器默认资源配额',
      lang_view_memory_request: '请求memory资源',
      lang_view_memory_limit: '最大memory配额',
      lang_view_cpu_request: '请求cpu资源',
      lang_view_cpu_limit: '最大cpu配额',
      lang_view_pods_limit: 'pods数量配额',
      lang_view_env_pvs_settings: '环境持久化卷设置',
      lang_view_pv_name: '持久化卷名',
      lang_view_pv_type: '持久化卷类型',
      lang_view_pv_yaml: '持久化卷YAML',
      lang_view_pv_bind_project: '绑定项目名字空间',
      lang_view_pv_bind_status: '绑定状态',
      lang_view_pv_pvc_name: '持久化卷声明PVC',
      lang_view_env_network_policy_settings: '环境网络策略设置',
      lang_view_network_policy_name: '网络策略名',
      lang_view_network_policy_type: '网络策略类型',
      lang_view_network_policy_yaml: '网络策略YAML',
      lang_view_env_hosts_settings: '环境主机设置',
      lang_view_host_name: '主机标识名',
      lang_view_host_group: '主机分组',
      lang_view_host_address: '地址',
      lang_view_host_port: '端口',
      lang_view_host_remote_user: '登录账号',
      lang_view_host_remote_password: '登录密码',
      lang_view_host_is_sudo: '需要sudo切换账号',
      lang_view_host_sudo_user: 'sudo账号',
      lang_view_host_sudo_password: 'sudo密码',
      lang_view_host_variables: '主机变量设置',
      lang_view_env_databases_settings: '环境数据库设置',
      lang_view_database_name: '数据库标识名',
      lang_view_database_jdbc: 'JDBC连接串',
      lang_view_database_username: '连接账号',
      lang_view_database_password: '连接密码',
      lang_view_env_debug_components_settings: '环境调试组件设置',
      lang_view_debug_component_def_yaml: '调试组件定义YAML',
      lang_view_debug_component_yaml: '调试组件部署YAML',
      lang_view_debug_component_current_yaml: '调试组件部署状态',
      lang_view_debug_component_connect_desc: '连接说明',
      lang_view_debug_component_create_update_time: '创建/更新时间',
      lang_view_env_components_settings: '环境组件设置',
      lang_view_component_name: '组件名',
      lang_view_component_desc: '组件描述',
      lang_view_component_def_yaml: '组件定义YAML',
      lang_view_component_deployment_yaml: '组件部署YAML',
      lang_view_component_service_yaml: '组件服务YAML',
      lang_view_component_hpa_yaml: '组件 HPA YAML',
      lang_view_attachments: '附件',
      lang_view_apply_ticket: '申请单号',
      lang_view_apply_title: '申请标题',
      lang_view_apply_user: '申请人',
      lang_view_apply_type: '申请类型',
      lang_view_apply_time: '申请时间',
      lang_view_apply_content: '申请内容',
      lang_view_apply_logs: '申请处理记录',
      lang_view_apply_reply_user: '处理人',
      lang_view_apply_log_type: '处理类型',
      lang_view_apply_log_time: '处理时间',
      lang_view_apply_log_content: '处理意见',
      lang_view_apply_log_params: '处理记录参数',
      lang_view_apply_reviewing: '审核确认',
      lang_view_apply_returning: '确认退回',
      lang_view_apply_processing: '处理中',
      lang_view_apply_closing: '关闭确认',
      lang_view_apply_closed: '已关闭',
      lang_view_mail_log_to: '收件人',
      lang_view_mail_log_subject: '邮件主题',
      lang_view_mail_log_enable_resend: '是否允许重发',
      lang_view_mail_log_statuses: '发送状态',
      lang_view_mail_log_create_time: '发送时间',
      lang_view_mail_log_msg: '错误消息',
      lang_view_mail_log_text: '邮件内容',
      lang_view_mail_log_resend: '重发',
      lang_view_admin_webhook_admin_action: '管理操作类型',
      lang_view_admin_webhook_enable: '是否启用',
      lang_view_admin_webhook_webhook_url: 'Webhook URL',
      lang_view_admin_webhook_webhook_method: '请求方法',
      lang_view_admin_webhook_username: '创建人',
      lang_view_admin_webhook_create_time: '创建时间',
      lang_view_docker_name: '执行器名称',
      lang_view_msg: '日志内容',
      lang_view_create_read_time: '创建/已读时间',
      lang_view_webhook_logs: 'webhook触发日志',
      lang_view_return_status_code: '返回状态码',
      lang_view_step_detail: '步骤详情',
      lang_view_admin_webhook_vars: '管理webhook变量',
      lang_view_return_message: '返回信息',
      lang_view_webhook_request_status: 'webhook请求状态',
      lang_view_webhook_request_exception: 'webhook请求异常信息',
      lang_view_webhook_request_detail: 'webhook请求详情',
      lang_view_webhook_request_curl: 'webhook请求curl命令',
      lang_view_webhook_request_response_headers: 'webhook请求返回headers',
      lang_view_webhook_request_response_body: 'webhook请求返回body',
      lang_view_webhook_request_step_detail: 'webhook步骤详情',
      lang_view_trigger_time: '触发时间',
      lang_view_mail_receivers: '接收邮箱',
      lang_view_mail_status: '邮件发送状态',
      lang_view_mail_exception: '邮件发送异常信息',
      lang_view_mail_detail: '邮件发送详情',
      lang_view_mail_attachments: '邮件发送附件',
      lang_view_mail_run_log_attachments: '运行日志附件',
      lang_view_mail_pipeline_variables_attachments: '流水线变量附件',
      lang_view_announcements: '公告',
      lang_view_announcement_detail: '公告详情',
      lang_view_announcement_level: '紧急程度',
      lang_view_announcement_title: '公告标题',
      lang_view_announcement_user: '公告人',
      lang_view_announcement_time: '公告时间',
      lang_view_is_read: '是否已读',
      lang_view_announcement_content: '公告内容',
      lang_view_users_management: '用户管理',
      lang_view_user_mail_mobile: '邮箱/手机',
      lang_view_user_tenant_admins: '项目租户管理员',
      lang_view_user_create_login_time: '创建/登录时间',
      lang_view_user_project_permissions: '用户项目权限',
      lang_view_envs_management: '环境管理',
      lang_view_env_desc: '环境描述',
      lang_view_tenants: '租户管理',
      lang_view_tenant_code: '租户编码',
      lang_view_tenant_projects: '租户项目',
      lang_view_docker_build_envs: '构建环境管理',
      lang_view_repo_configs: '仓库配置管理',
      lang_view_build_env_name: '构建环境名称',
      lang_view_build_env_image: '构建环境镜像',
      lang_view_build_env_arches: '构建环境架构',
      lang_view_is_from_file: '是否来源于配置文件',
      lang_view_repo_name: '仓库名称',
      lang_view_repo_type: '仓库类型',
      lang_view_custom_steps: '自定义步骤',
      lang_view_custom_step_name: '自定义步骤名称',
      lang_view_custom_step_english_desc: '自定义步骤英文描述',
      lang_view_custom_step_desc: '自定义步骤说明',
      lang_view_custom_step_is_env_diff: '是否不同环境不同配置',
      lang_view_executor_settings: '自定义步骤执行器设置',
      lang_view_component_templates_management: '组件模板管理',
      lang_view_component_template_name: '组件模板名称',
      lang_view_component_template_desc: '组件模板描述',
      lang_view_component_template_yaml: '组件模板定义YAML',
      lang_view_create_time: '创建时间',
      lang_view_audit_logs_management: '审计日志管理',
      lang_view_audit_logs_type: '审计日志类型',
      lang_view_operate_username: '操作用户名',
      lang_view_operate_time: '操作时间',
      lang_view_audit_logs_params: '操作提交参数',
      lang_view_audit_logs_response: '审计日志返回信息',
      lang_view_audit_logs_execute_logs: '审计日志详细执行日志',
      lang_view_system_config: '查看系统配置',
      lang_view_access_tokens: '访问token',
      lang_view_access_token_name: '访问token名称',
      lang_view_is_expires: '是否到期',
      lang_view_expire_time: '有效期',
      lang_view_change_password: '修改密码',
      lang_view_edit_profile: '修改资料',
      lang_view_forget_password: '忘记密码',
      lang_view_input_account: '输入账号',
      lang_view_send_reset_mail: '发送认证邮件',
      lang_view_reset_password: '重置密码',
      lang_view_detail: '详细信息',
      lang_view_no_options_to_select: '[错误] 没有可选择的选择项',
      lang_view_now_downloading: '正在下载中...',
      lang_form_yes: '是',
      lang_form_no: '否',
      lang_form_clear: '清空',
      lang_form_select_time: '选择时间',
      lang_form_required_tip: '*表示必填字段',
      lang_form_required: '此信息必填*',
      lang_form_must_be_integer: '必须为整数',
      lang_form_can_not_less_than_0: '不能小于0',
      lang_form_can_not_less_than__1: '不能小于-1',
      lang_form_must_greater_than_0: '必须大于0',
      lang_form_required_can_not_start_with_slash: '此信息必填且不能以/开头',
      lang_form_required_must_start_with_slash: '此信息必填且必须以/开头',
      lang_form_required_must_be_0_to_100: '必须为0-100之间的数值',
      lang_form_input_value_to_confirm: '危险操作，请输入 {0} 以确认',
      lang_form_account: '账号',
      lang_form_login_account_tip: '登录账号或邮箱',
      lang_form_password: '密码',
      lang_form_mail: '邮箱',
      lang_form_input_new_password: '输入新密码',
      lang_form_repeat_new_password: '再次输入新密码',
      lang_form_project_name: '项目名',
      lang_form_project_team: '项目团队',
      lang_form_pipeline_name: '流水线名称',
      lang_form_run_name: '运行名称',
      lang_form_branch_name: '分支名称',
      lang_form_status: '状态',
      lang_form_duration: '时长',
      lang_form_duration_tip_1: '0-2分钟',
      lang_form_duration_tip_2: '2-5分钟',
      lang_form_duration_tip_3: '5-15分钟',
      lang_form_duration_tip_4: '15-30分钟',
      lang_form_duration_tip_5: '30分钟以上',
      lang_form_start_time: '启动时间',
      lang_form_tag_name: '标签',
      lang_form_start_user: '启动用户',
      lang_form_trigger_kind: '触发方式',
      lang_form_is_closed: '是否已关闭',
      lang_form_error_start_time: '错误发生时间',
      lang_form_commit_hash: 'commit编号',
      lang_form_commit_time: '提交时间',
      lang_form_committee: '提交者',
      lang_form_committee_mail: '提交者邮箱',
      lang_form_env: '环境',
      lang_form_from_file: '来源于配置文件',
      lang_form_tenant_codes: '租户编码',
      lang_form_build_env_names: '构建环境名称',
      lang_form_repo_names: '仓库名称',
      lang_form_repo_types: '仓库类型',
      lang_form_step_action: '步骤类型',
      lang_form_module_name: '模块名',
      lang_form_module_type: '模块类型',
      lang_form_run_number: '运行编号',
      lang_form_is_step: '是否步骤',
      lang_form_trigger_before_execute: '是否步骤执行前触发',
      lang_form_create_time: '创建时间',
      lang_form_last_login: '最后登录时间',
      lang_form_module_hide: '隐藏 {0} 模块',
      lang_form_module_hide_prompt: '隐藏模块后，在应用上云页面上将不展示该模块',
      lang_form_module_show: '显示 {0} 模块',
      lang_form_module_show_prompt: '隐藏模块后，在应用上云页面上将展示该模块',
      lang_form_metrics_dimension: '维度',
      lang_form_metrics_dimension_all: '全部(all)',
      lang_form_metrics_dimension_project_name: '项目(projectName)',
      lang_form_metrics_dimension_project_team: '项目团队(projectTeam)',
      lang_form_metrics_dimension_branch_name: '分支(branchName)',
      lang_form_metrics_dimension_pipeline_name: '流水线(pipelineName)',
      lang_form_metrics_dimension_status_result: '状态(statusResult)',
      lang_form_metrics_dimension_trigger_kind: '启动方式(triggerKind)',
      lang_form_metrics_dimension_env_name: '环境(envName)',
      lang_form_metrics_dimension_module_type: '模块类型(moduleType)',
      lang_form_metrics_dimension_module_name: '模块(moduleName)',
      lang_form_metrics_dimension_step_action: '步骤类型(stepAction)',
      lang_form_metrics_dimension_build_env: '构建环境(buildEnv)',
      lang_form_metrics_dimension_scan_code_result: '扫描状态(scanCodeResult)',
      lang_form_metrics_dimension_scan_image_result: '扫描状态(scanImageResult)',
      lang_form_metrics_dimension_is_mesh_enable: '是否网格(isMeshEnable)',
      lang_form_metrics_dimension_deployment_status: '部署状态(deploymentStatus)',
      lang_form_metrics_dimension_test_type: '自动化测试类型(testType)',
      lang_form_metrics_dimension_custom_step_type: '自定义步骤类型(customStepName)',
      lang_form_metrics_dimension_committee_name: '提交者(committee)',
      lang_form_metrics_dimension_committee_mail: '提交者邮箱(committeeEmail)',
      lang_form_metrics_dimension_username: '用户(username)',
      lang_form_metrics_dimension_operate_type: '操作类型(opType)',
      lang_form_metrics_dimension_with_admin_log: '是否包含管理日志(withAdminLog)',
      lang_form_metrics_range: '统计区间',
      lang_form_metrics_range_year: '年(year)',
      lang_form_metrics_range_month: '月(month)',
      lang_form_metrics_range_week: '周(week)',
      lang_form_metrics_range_day: '日(day): 默认',
      lang_form_metrics_range_hour: '小时(hour)',
      lang_form_metrics_time_range: '时间区间',
      lang_form_metrics_time_range_days_7: '最近7天: 默认',
      lang_form_metrics_time_range_days_14: '最近14天',
      lang_form_metrics_time_range_days_30: '最近30天',
      lang_form_metrics_time_range_days_90: '最近90天',
      lang_form_metrics_time_range_days_365: '最近365天',
      lang_form_metrics_time_range_days_custom: '自定义时间区间',
      lang_form_metrics_time_range_custom: '自定义时间',
      lang_form_metrics_filter_by_project_name: '过滤项目',
      lang_form_metrics_filter_by_project_team: '过滤团队',
      lang_form_metrics_filter_by_branch_name: '过滤分支',
      lang_form_metrics_filter_by_pipeline_name: '过滤流水线',
      lang_form_metrics_filter_by_status: '过滤状态',
      lang_form_metrics_filter_by_trigger_kind: '过滤启动方式',
      lang_form_metrics_filter_by_env_name: '过滤环境',
      lang_form_metrics_filter_by_module_type: '过滤模块类型',
      lang_form_metrics_filter_by_module_name: '过滤模块',
      lang_form_metrics_filter_by_step_action: '过滤步骤',
      lang_form_metrics_filter_by_build_env: '过滤构建环境',
      lang_form_metrics_filter_by_scan_status: '过滤扫描状态',
      lang_form_metrics_filter_by_is_mesh_enable: '过滤是否网格',
      lang_form_metrics_filter_by_deployment_status: '过滤部署状态',
      lang_form_metrics_filter_by_test_type: '过滤自动化测试类型',
      lang_form_metrics_filter_by_custom_step_type: '过滤自定义步骤类型',
      lang_form_metrics_filter_by_committee_name: '过滤提交者',
      lang_form_metrics_filter_by_committee_mail: '过滤提交者邮箱',
      lang_form_metrics_filter_by_username: '过滤用户',
      lang_form_metrics_filter_by_operate_type: '过滤操作类型',
      lang_form_metrics_filter_by_with_admin_log: '过滤是否包含管理日志',
      lang_form_all: '全部',
      lang_form_i_created: '我创建的',
      lang_form_i_related: '我相关的',
      lang_form_search_apply_type: '申请类型',
      lang_form_search_apply_new_user: '申请开通账号',
      lang_form_search_apply_other: '其他类型申请',
      lang_form_search_apply_new_project_node_ports: '申请新NodePort',
      lang_form_search_apply_delete_project_node_ports: '申请回收NodePort',
      lang_form_search_apply_new_project_envs: '申请分配新环境',
      lang_form_search_apply_delete_project_envs: '申请移除项目环境',
      lang_form_search_apply_delete_project_envs_all: '申请移除项目环境并清理名字空间',
      lang_form_search_apply_update_project: '申请修改项目信息',
      lang_form_search_apply_delete_project: '申请删除项目',
      lang_form_search_apply_delete_project_all: '申请删除项目并清理名字空间',
      lang_form_search_apply_update_resource_quota: '申请调整资源配额',
      lang_form_search_apply_assign_pv: '申请分配新持久化卷',
      lang_form_search_apply_remove_pv: '申请回收持久化卷',
      lang_form_search_apply_reviewing: '审核确认',
      lang_form_search_apply_returning: '确认退回',
      lang_form_search_apply_processing: '处理中',
      lang_form_search_apply_closing: '关闭确认',
      lang_form_search_apply_closed: '已关闭',
      lang_form_search_apply_ticket: '申请单号',
      lang_form_search_apply_username: '申请账号',
      lang_form_search_apply_user_name: '申请用户名字',
      lang_form_search_apply_title: '申请标题',
      lang_form_search_apply_content: '申请内容',
      lang_form_search_apply_create_time: '申请时间',
      lang_from_mail_log_to: '收件人',
      lang_from_mail_log_subject: '邮件主题',
      lang_from_mail_log_enable_resend: '是否允许重发',
      lang_from_mail_log_statuses: '邮件发送状态',
      lang_from_msg: '日志内容',
      lang_form_update_time: '更新时间',
      lang_form_is_read: '是否已读',
      lang_form_return_status_code: '返回状态码',
      lang_form_webhook_request_status: 'webhook请求状态',
      lang_form_trigger_time: '触发时间',
      lang_form_mail_receivers: '接收邮箱',
      lang_form_mail_status: '邮件发送状态',
      lang_form_read: '已读',
      lang_form_unread: '未读',
      lang_form_announcement_level: '紧急程度',
      lang_form_announcement_time: '公告时间',
      lang_form_username: '用户名',
      lang_form_tenant_admins: '项目租户管理员',
      lang_form_user_name: '用户显示名',
      lang_form_is_active: '是否激活状态',
      lang_form_is_admin: '是否管理员',
      lang_form_is_tenant_admin: '是否租户管理员',
      lang_form_sort_type: '排序方式',
      lang_form_sort_username_asc: '用户名顺序',
      lang_form_sort_user_name_asc: '显示名顺序',
      lang_form_sort_create_time_desc: '创建时间倒序',
      lang_form_sort_create_time_asc: '创建时间顺序',
      lang_form_sort_login_time_desc: '登录时间倒序',
      lang_form_sort_login_time_asc: '登录时间顺序',
      lang_form_custom_step_name: '自定义步骤名称',
      lang_form_audit_logs_type: '审计日志类型',
      lang_form_operate_username: '操作用户名',
      lang_form_operate_time: '操作时间',
      lang_form_with_admin_log: '是否包含管理日志',
      lang_form_with_apply_ticket: '是否申请工单',
      lang_form_pipeline_def: '设置流水线定义',
      lang_form_build_def: '设置模块构建定义',
      lang_form_package_def: '设置模块镜像打包定义',
      lang_form_artifact_def: '设置模块制品打包定义',
      lang_form_docker_ignore_def: '设置镜像打包忽略定义',
      lang_form_custom_step_def: '设置自定义步骤模块定义',
      lang_form_ops_def: '设置OPS操作定义',
      lang_form_ops_batch_def: '设置OPS批处理定义',
      lang_form_deploy_container_def: '设置模块容器部署定义',
      lang_form_deploy_artifact_def: '设置模块制品部署定义',
      lang_form_istio_def: '设置模块服务网格定义',
      lang_form_istio_gateway_def: '设置模块服务网格网关定义',
      lang_form_create_def_item_from_template: '从模板创建配置项',
      lang_form_create_def_item_from_empty: '创建空的配置项',
      lang_form_update_def_comment: '备注信息(comment)',
      lang_form_build_def_build_name: '构建模块名称(buildName)*',
      lang_form_build_def_build_name_tip_1: '格式例如：{0}-gin-demo，必须以 {0}- 开头',
      lang_form_build_def_build_phase_id: '构建步骤ID(buildPhaseID)*',
      lang_form_build_def_build_phase_id_tip_1: '相同的构建步骤ID表示并行构建，必须大于0',
      lang_form_build_def_build_path: '构建模块代码路径(buildPath)*',
      lang_form_build_def_build_path_tip_1: '构建模块在代码仓库中的相对路径，不能以/开头，如果位于代码仓库根目录，请使用"."',
      lang_form_build_def_build_env: '模块构建环境(buildEnv)*',
      lang_form_build_def_build_cmds: '模块构建命令(buildCmds)*',
      lang_form_build_def_build_cmds_tip_1: '多个命令请使用回车分隔，支持使用流水线变量',
      lang_form_build_def_build_checks: '模块构建结果验证命令(buildChecks)*',
      lang_form_build_def_build_checks_tip_1: '多个命令请使用回车分隔，支持使用流水线变量',
      lang_form_build_def_build_caches: '需要缓存的子目录路径(buildCaches)',
      lang_form_build_def_build_caches_tip_1: '构建模块代码路径下需要缓存的子目录路径，多个子目录请使用回车分隔，不能以/开头。注意，缓存目录的内容挂装到外部缓存卷中，不保存在编译环境的workspace中',
      lang_form_build_def_sonar_extra_settings: '代码目录扫描额外参数设置(sonarExtraSettings)',
      lang_form_build_def_sonar_extra_settings_tip_1: '假如有额外需要特殊设置的sonar-project.properties扫描参数请提供',
      lang_form_build_def_sonar_extra_settings_tip_2: '扫描参数参见: https://docs.sonarqube.org/latest/analysis/analysis-parameters/',
      lang_form_build_def_sonar_extra_settings_tip_3: '支持使用流水线变量',
      lang_form_package_def_package_name: '镜像打包模块名称(packageName)*',
      lang_form_package_def_package_name_tip_1: '格式例如：{0}-gin-demo，必须以 {0}- 开头',
      lang_form_package_def_related_builds: '来源构建模块(relatedBuilds)*',
      lang_form_package_def_related_builds_tip_1: '镜像打包模块的制品来源于哪些构建模块',
      lang_form_package_def_docker_file: '制作镜像的Dockerfile指令(dockerFile)*',
      lang_form_package_def_docker_file_tip_1: '制作镜像的Dockerfile指令',
      lang_form_package_def_docker_file_tip_2: '支持使用流水线变量',
      lang_form_artifact_def_artifact_name: '制品打包模块名称(artifactName)*',
      lang_form_artifact_def_artifact_name_tip_1: '格式例如：{0}-gin-demo，必须以 {0}- 开头',
      lang_form_artifact_def_related_builds: '来源构建模块(relatedBuilds)*',
      lang_form_artifact_def_related_builds_tip_1: '制品打包模块的制品来源于哪些构建模块',
      lang_form_artifact_def_artifacts: '制品路径(artifacts)*',
      lang_form_artifact_def_artifacts_tip_1: '需要把哪些文件复制到制品压缩包，源文件路径为代码仓库相对路径，目标路径为压缩包中的相对路径',
      lang_form_artifact_def_artifacts_tip_2: '支持使用流水线变量',
      lang_form_artifact_def_artifacts_src: '源文件路径* 不能以/开头',
      lang_form_artifact_def_artifacts_dst: '目标路径* 不能以/开头',
      lang_form_docker_ignore_def_tip_1: 'docker打包会扫描仓库的所有目录，假如项目仓库的文件太多会导致打包扫描过程太慢。如果需要提高打包速度，请设置忽略目录设置',
      lang_form_docker_ignore_def_tip_2: '"/abc*" 代表根目录（上下文环境目录中）中以abc开头的任意直接子目录或者直接子文件将被忽略，如/abc  abc.txt',
      lang_form_docker_ignore_def_tip_3: '"*/abc*" 代表根目录（上下文环境目录中）中任意直接子目录中以abc开头的任意直接子目录或者直接子文件将被忽略，如 /file/abc  /file/abc.txt',
      lang_form_docker_ignore_def_tip_4: '"*/*/abc*" 代表根目录（上下文环境目录中）中任意两级目录下以abc开头的任意直接子目录或者直接子文件将被忽略，如 /file1/file2/abc  /file1/file2/abc.txt',
      lang_form_docker_ignore_def_tip_5: '"**/abc*" **匹配任意数量目录（包括零）的特殊通配符字符串，如 /a/b/abc.txt /c/abc.md /a/b/c/abcde',
      lang_form_docker_ignore_def_tip_6: '"temp?" 排除根目录中的文件和目录，其名称是单字符扩展名temp，如 /tempa /tempb',
      lang_form_def_add_params: '添加参数配置',
      lang_form_deploy_container_def_deploy_name: '部署名称(deployName)*',
      lang_form_deploy_container_def_deploy_name_tip_1: '格式例如：{0}-gin-demo，必须以 {0}- 开头',
      lang_form_deploy_container_def_deploy_image: '容器镜像(deployImage)*',
      lang_form_deploy_container_def_deploy_image_tip_1: '容器镜像，请输入完整的镜像路径',
      lang_form_deploy_container_def_related_package: '来源镜像打包模块(relatedPackage)*',
      lang_form_deploy_container_def_related_package_tip_1: '容器发布模块的制品来源于哪些镜像打包模块',
      lang_form_deploy_container_def_deploy_type: '部署方式(deployType)*',
      lang_form_deploy_container_def_deploy_type_tip_1: '以Deployment或者StatefulSet方式进行容器部署',
      lang_form_deploy_container_def_deploy_replicas: '启动的副本实例数(deployReplicas)*',
      lang_form_deploy_container_def_deploy_headless: '是否headless服务(deployHeadless)',
      lang_form_deploy_container_def_deploy_headless_tip_1: 'headless服务不做负载均衡，并且pod之间可以通过域名互相访问，只有设置deployType为statefulset的时候有效',
      lang_form_deploy_container_def_deploy_pod_management_policy: 'statefulset的pod管理策略(podManagementPolicy)',
      lang_form_deploy_container_def_deploy_pod_management_policy_tip_1: 'OrderedReady表示按顺序启动各个pod',
      lang_form_deploy_container_def_deploy_pod_management_policy_tip_2: 'Parallel表示并行启动各个pod',
      lang_form_deploy_container_def_deploy_pod_management_policy_tip_3: '只有设置deployType为statefulset的时候有效',
      lang_form_deploy_container_def_deploy_meta: '容器部署模块元数据(deployMeta)',
      lang_form_deploy_container_def_deploy_meta_labels: '标签信息(labels)',
      lang_form_deploy_container_def_deploy_meta_labels_tip_1: '容器部署模块的额外标签信息',
      lang_form_deploy_container_def_deploy_meta_labels_name: '标签名*',
      lang_form_deploy_container_def_deploy_meta_labels_value: '标签值*',
      lang_form_deploy_container_def_deploy_meta_annotations: '注释信息(annotations)',
      lang_form_deploy_container_def_deploy_meta_annotations_tip_1: '容器部署模块的额外注释信息',
      lang_form_deploy_container_def_deploy_meta_annotations_name: '注释名*',
      lang_form_deploy_container_def_deploy_meta_annotations_value: '注释值*',
      lang_form_deploy_container_def_hpa_config: '水平扩缩容设置(hpaConfig)',
      lang_form_deploy_container_def_hpa_config_tip_1: '注意，仅适用于无状态应用，有状态应用启动水平扩缩容可能引起服务异常',
      lang_form_deploy_container_def_hpa_config_tip_2: '当应用一段时间内实际平均使用的cpu或者内存高于预设值情况下，应用会自动进行水平扩容',
      lang_form_deploy_container_def_hpa_config_tip_3: '当应用水平扩容后，应用一段时间内实际平均使用的cpu或者内存低于预设值情况下，应用会自动进行水平缩容',
      lang_form_deploy_container_def_hpa_config_max_replicas: '应用能够扩容的最大副本实例数(maxReplicas)*',
      lang_form_deploy_container_def_hpa_config_memory_average_value: '内存平均值(memoryAverageValue)',
      lang_form_deploy_container_def_hpa_config_memory_average_value_tip_1: '应用一段时间内的内存平均值达到该数值将启动自动扩容（100Mi表示100M内存，1Gi表示1G内存）',
      lang_form_deploy_container_def_hpa_config_memory_average_request_percent: '内存平均百分比(memoryAverageRequestPercent)',
      lang_form_deploy_container_def_hpa_config_memory_average_request_percent_tip_1: '应用一段时间内的内存平均值达到预设值的百分比将启动自动扩容（1 - 100）',
      lang_form_deploy_container_def_hpa_config_cpu_average_value: 'cpu平均值(cpuAverageValue)',
      lang_form_deploy_container_def_hpa_config_cpu_average_value_tip_1: '应用一段时间内的cpu平均值达到该数值将启动自动扩容（100m表示0.1，表示0.1个CPU）',
      lang_form_deploy_container_def_hpa_config_cpu_average_request_percent: 'cpu平均百分比(cpuAverageRequestPercent)',
      lang_form_deploy_container_def_hpa_config_cpu_average_request_percent_tip_1: '应用一段时间内的cpu平均值达到预设值的百分比将启动自动扩容（1 - 100）',
      lang_form_deploy_container_def_deploy_other: '杂项设置(deployOther)',
      lang_form_deploy_container_def_deploy_args: '启动命令行参数(deployArgs)',
      lang_form_deploy_container_def_deploy_args_tip_1: '请输入回车插入命令行参数',
      lang_form_deploy_container_def_deploy_session_affinity_timeout_seconds: '会话持久时间(deploySessionAffinityTimeoutSeconds)',
      lang_form_deploy_container_def_deploy_session_affinity_timeout_seconds_tip_1: '对于多实例的有状态服务，如果需要启用session sticky支持，需要设置session sticky超时时间，单位秒',
      lang_form_deploy_container_def_deploy_ports: '服务端口设置(deployPorts)',
      lang_form_deploy_container_def_deploy_node_ports: 'NodePort服务端口设置(deployNodePorts)',
      lang_form_deploy_container_def_deploy_node_ports_tip_1: '应用需要在kubernetes集群外被访问的时候，需要通过NodePort端口对外提供服务',
      lang_form_deploy_container_def_deploy_node_ports_port: '应用的内部服务端口号(port)*',
      lang_form_deploy_container_def_deploy_node_ports_protocol: '协议类型(protocol)*',
      lang_form_deploy_container_def_deploy_node_ports_node_port: 'NodePort服务端口号(nodePort)*',
      lang_form_deploy_container_def_deploy_node_ports_node_port_tip_1: 'kubernetes集群外通过访问NodePort可以访问到应用的内部端口，请保证项目的管理控制台该nodePort可用，并且nodePort没有复用，否则会无法发布应用。',
      lang_form_deploy_container_def_deploy_local_ports: '内部服务端口设置(deployLocalPorts)',
      lang_form_deploy_container_def_deploy_local_ports_tip_1: '假如应用不需要在kubernetes集群外被访问，那么设置内部端口即可',
      lang_form_deploy_container_def_deploy_local_ports_port: '应用的内部服务端口号(port)*',
      lang_form_deploy_container_def_deploy_local_ports_protocol: '协议类型(protocol)*',
      lang_form_deploy_container_def_deploy_local_ports_ingress: '启用服务的域名解析(ingress)',
      lang_form_deploy_container_def_deploy_local_ports_ingress_tip_1: 'kubernetes集群外通过域名和子路径访问该服务',
      lang_form_deploy_container_def_deploy_local_ports_ingress_tip_2: '访问方式为 http://<domainName><pathPrefix>',
      lang_form_deploy_container_def_deploy_local_ports_ingress_domain_name: '访问域名(ingress.domainName)',
      lang_form_deploy_container_def_deploy_local_ports_ingress_domain_name_tip_1: '访问该服务的域名',
      lang_form_deploy_container_def_deploy_local_ports_ingress_path_prefix: '访问子路径(ingress.pathPrefix)',
      lang_form_deploy_container_def_deploy_local_ports_ingress_path_prefix_tip_1: '访问该服务的子路径前缀，必须以/开头，注意ingress不支持url rewrite，请保证该服务下该路径可访问',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_self_signed: '是否自动创建自签名证书(ingress.certSelfSigned)',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_self_signed_tip_1: '设置使用https方式访问ingress域名，启用domainName和pathPrefix情况下有效',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_self_signed_tip_2: '请保证所有容器部署模块该选项相同',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_path: '代码仓库中的证书路径(ingress.certPath)',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_path_tip_1: '设置使用https方式访问ingress域名，启用domainName和pathPrefix情况下有效',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_path_tip_2: '假如不启用自动创建自签名证书，需要设置代码仓库中证书和私钥的路径，证书和私钥文件的名字为tls.crt和tls.key',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_path_tip_3: '流水线会自动把 <certPath> 目录下的tls.crt和tls.key证书保存到kubernetes环境的secret中',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_path_tip_4: '证书目录在代码仓库中的相对路径，不能以/开头或者结尾',
      lang_form_deploy_container_def_deploy_local_ports_ingress_cert_path_tip_5: '请保证所有容器部署模块该选项相同',
      lang_form_deploy_container_def_deploy_envs: '环境变量(deployEnvs)',
      lang_form_deploy_container_def_deploy_envs_tip_1: '容器中的环境变量设置',
      lang_form_deploy_container_def_deploy_envs_name: '变量名*',
      lang_form_deploy_container_def_deploy_envs_value: '变量值*',
      lang_form_deploy_container_def_deploy_command: '启动应用命令行(deployCommand)',
      lang_form_deploy_container_def_deploy_command_tip_1: '支持使用流水线变量',
      lang_form_deploy_container_def_deploy_resources: '应用的资源配额设置(deployResources)',
      lang_form_deploy_container_def_deploy_resources_tip_1: '给应用分配多少cpu和内存资源',
      lang_form_deploy_container_def_deploy_resources_memory_request: '内存请求配额(memoryRequest)*',
      lang_form_deploy_container_def_deploy_resources_memory_request_tip_1: '容器预占的内存，名字空间下所有容器的预占内存总和如超过资源配额将无法启动容器（100Mi表示100M内存，1Gi表示1G内存）',
      lang_form_deploy_container_def_deploy_resources_memory_limit: '内存最大配额(memoryLimit)*',
      lang_form_deploy_container_def_deploy_resources_memory_limit_tip_1: '容器可以分配的最大内存资源，名字空间下所有容器的最大内存配额总和如超过资源配额将无法启动容器（200Mi表示200M内存，1Gi表示1G内存）',
      lang_form_deploy_container_def_deploy_resources_cpu_request: 'cpu请求配额(cpuRequest)*',
      lang_form_deploy_container_def_deploy_resources_cpu_request_tip_1: '容器预占的cpu，名字空间下所有容器的预占cpu总和如超过资源配额将无法启动容器（100m表示0.1，表示0.1个CPU）',
      lang_form_deploy_container_def_deploy_resources_cpu_limit: 'cpu最大配额(cpuLimit)*',
      lang_form_deploy_container_def_deploy_resources_cpu_limit_tip_1: '容器可以分配的最大cpu资源，名字空间下所有容器的最大cpu配额总和如超过资源配额将无法启动容器（100m表示0.1，表示0.1个CPU）',
      lang_form_deploy_container_def_deploy_volumes: '应用挂装存储设置(deployVolumes)',
      lang_form_deploy_container_def_deploy_volumes_tip_1: '该应用哪些目录或者文件需要进行持久化到共享存储',
      lang_form_deploy_container_def_deploy_volumes_path_in_pod: '容器中挂装的目录或文件的绝对路径(pathInPod)*',
      lang_form_deploy_container_def_deploy_volumes_path_in_pv: '持久化卷pvc中目录或文件的相对路径(pathInPv)*',
      lang_form_deploy_container_def_deploy_volumes_pvc: '挂装的pvc名字(pvc)',
      lang_form_deploy_container_def_deploy_volumes_pvc_tip_1: '如果使用默认pvc请不要填写',
      lang_form_deploy_container_def_deploy_health_check: '应用状态检查设置(deployHealthCheck)',
      lang_form_deploy_container_def_deploy_health_check_tip_1: '检查应用是否能正常对外提供服务，如果不能正常对外提供服务则进行重启或者标记服务不可访问',
      lang_form_deploy_container_def_deploy_health_check_select_method: '应用状态检查方法(deployHealthCheckMethod)',
      lang_form_deploy_container_def_deploy_health_check_check_port: '检查tcp端口是否可连接(checkPort)',
      lang_form_deploy_container_def_deploy_health_check_exec: '执行命令并检查命令执行状态(exec)*',
      lang_form_deploy_container_def_deploy_health_check_exec_tip_1: '假如命令状态执行成功表示检查成功',
      lang_form_deploy_container_def_deploy_health_check_http_get: '通过http get方法检查是否可连接(httpGet)*',
      lang_form_deploy_container_def_deploy_health_check_http_get_tip_1: '通过http get方法访问指定路径和端口返回的状态码，如果状态码返回2XX-3XX则表示服务正常',
      lang_form_deploy_container_def_deploy_health_check_http_get_tip_2: '建议每个应用单独开发一个http-get方式获取服务健康状态controller',
      lang_form_deploy_container_def_deploy_health_check_http_get_path: '本应用的http路径(path)',
      lang_form_deploy_container_def_deploy_health_check_http_get_port: '本应用的http端口(port)*',
      lang_form_deploy_container_def_deploy_health_check_http_get_scheme: '请求的scheme(scheme)',
      lang_form_deploy_container_def_deploy_health_check_http_get_http_headers: '请求中自定义的HTTP头(httpHeaders)',
      lang_form_deploy_container_def_deploy_health_check_http_get_http_headers_name: 'httpHeader名称(name)*',
      lang_form_deploy_container_def_deploy_health_check_http_get_http_headers_value: 'httpHeader值(value)*',
      lang_form_deploy_container_def_deploy_health_check_readiness_delay_seconds: '启动容器后等待多长时间才启动可访问性检查(readinessDelaySeconds)',
      lang_form_deploy_container_def_deploy_health_check_readiness_delay_seconds_tip_1: '如果检查通过service才可以正常对外访问，单位秒',
      lang_form_deploy_container_def_deploy_health_check_readiness_period_seconds: '多长时间间隔进行一次可访问性检查(readinessPeriodSeconds)',
      lang_form_deploy_container_def_deploy_health_check_readiness_period_seconds_tip_1: '如果检查通过service才可以正常对外访问，单位秒',
      lang_form_deploy_container_def_deploy_health_check_liveness_delay_seconds: '启动容器后等待多长时间才启动服务异常检查(livenessDelaySeconds)',
      lang_form_deploy_container_def_deploy_health_check_liveness_delay_seconds_tip_1: '如果检查不通过容器将会自动重启，单位秒',
      lang_form_deploy_container_def_deploy_health_check_liveness_period_seconds: '多长时间间隔进行一次服务异常检查(livenessPeriodSeconds)',
      lang_form_deploy_container_def_deploy_health_check_liveness_period_seconds_tip_1: '如果检查不通过容器将会自动重启，单位秒',
      lang_form_deploy_container_def_deploy_health_check_startup_delay_seconds: '等待多长时间才进行容器启动状态检查(startupDelaySeconds)',
      lang_form_deploy_container_def_deploy_health_check_startup_delay_seconds_tip_1: '如果检查通过容器才处于running状态，单位秒',
      lang_form_deploy_container_def_deploy_health_check_startup_period_seconds: '多长时间间隔进行一次容器启动状态检查(startupPeriodSeconds)',
      lang_form_deploy_container_def_deploy_health_check_startup_period_seconds_tip_1: '如果检查通过容器才处于running状态，单位秒',
      lang_form_deploy_container_def_depend_services: '服务依赖(dependServices)',
      lang_form_deploy_container_def_depend_services_tip_1: '启动该服务前必须先保证哪个服务的哪个端口先启动，如果有多个服务依赖请注意依赖的先后顺序',
      lang_form_deploy_container_def_depend_services_depend_name: '依赖的服务名(dependName)*',
      lang_form_deploy_container_def_depend_services_depend_name_tip_1: '可以是集群内的服务名，也可以是集群外的ip地址或者主机名',
      lang_form_deploy_container_def_depend_services_depend_port: '依赖的服务端口(dependPort)*',
      lang_form_deploy_container_def_depend_services_depend_type: '依赖的服务协议类型(dependType)*',
      lang_form_deploy_container_def_host_aliases: '容器主机名解析(hostAliases)',
      lang_form_deploy_container_def_host_aliases_tip_1: '设置后应用容器中的/etc/hosts将增加相关主机名解析',
      lang_form_deploy_container_def_host_aliases_ip: '对应的ip地址(ip)*',
      lang_form_deploy_container_def_host_aliases_hostnames: '对应的主机名(hostnames)*',
      lang_form_deploy_container_def_host_aliases_hostnames_tip_1: '一个ip地址支持对应多个主机名，每个主机名请输入回车分隔',
      lang_form_deploy_container_def_security_context: '启动应用使用的用户和用户组配置(securityContext)',
      lang_form_deploy_container_def_security_context_tip_1: '假如使用容器镜像的默认启动用户请勿配置该选项',
      lang_form_deploy_container_def_security_context_run_as_user: '应用运行的用户ID(runAsUser)',
      lang_form_deploy_container_def_security_context_run_as_group: '应用运行的用户组ID(runAsGroup)',
      lang_form_deploy_container_def_deploy_config_settings: '从代码仓库发送配置文件到容器云的项目共享存储目录的配置(deployConfigSettings)',
      lang_form_deploy_container_def_deploy_config_settings_tip_1: '注意，只支持发送到默认pvc共享存储中，不支持发送配置文件到项目自定义挂载的pvc共享存储中',
      lang_form_deploy_container_def_deploy_config_settings_tip_2: '流水线会自动把 <配置文件所在代码目录相对路径> 目录下的所有文件发送到kubernetes环境的 <共享存储项目目录相对路径>目录下',
      lang_form_deploy_container_def_deploy_config_settings_local_path: '配置文件所在代码目录相对路径(localPath)*',
      lang_form_deploy_container_def_deploy_config_settings_local_path_tip_1: '路径都不能以/开头',
      lang_form_deploy_container_def_deploy_config_settings_pvc_name: '共享存储的pvc名称(pvcName)',
      lang_form_deploy_container_def_deploy_config_settings_pvc_name_tip_1: '不选择表示使用项目的默认共享存储',
      lang_form_deploy_container_def_deploy_config_settings_pod_path: '共享存储项目目录相对路径(podPath)*',
      lang_form_deploy_container_def_deploy_config_settings_pod_path_tip_1: '路径都不能以/开头',
      lang_form_deploy_container_def_deploy_config_settings_deploy_config_branch: '配置文件所在代码仓库的分支名称(deployConfigBranch)*',
      lang_form_deploy_container_def_deploy_config_maps: '把代码中的配置文件保存成kubernetes的configmap(deployConfigMaps)',
      lang_form_deploy_container_def_deploy_config_maps_name: 'configmap的名字(name)*',
      lang_form_deploy_container_def_deploy_config_maps_name_tip_1: '格式例如：{0}-configmap，必须以 {0}- 开头',
      lang_form_deploy_container_def_deploy_config_maps_from_file_type: '来源的文件类型(fromFileType)*',
      lang_form_deploy_container_def_deploy_config_maps_from_file_type_tip_1: 'from_file: 来源于文件，把整个文件保存到configmap',
      lang_form_deploy_container_def_deploy_config_maps_from_file_type_tip_2: 'from_env_file: 来源于环境变量文件，环境变量文件内容格式为"key=value"，把环境变量文件中的变量名和变量值以键值对形式保存到configmap',
      lang_form_deploy_container_def_deploy_config_maps_paths: '文件所在代码目录相对路径(paths)*',
      lang_form_deploy_container_def_deploy_config_maps_paths_tip_1: '支持多个文件，必须填写文件，不能填写目录，路径都不能以/开头',
      lang_form_deploy_container_def_deploy_secrets: '把代码中的配置文件保存成kubernetes的secret(deploySecrets)',
      lang_form_deploy_container_def_deploy_secrets_name: 'secret的名字(name)*',
      lang_form_deploy_container_def_deploy_secrets_name_tip_1: '格式例如：{0}-secret，必须以 {0}- 开头',
      lang_form_deploy_container_def_deploy_secrets_secret_type: 'secret类型(secretType)*',
      lang_form_deploy_container_def_deploy_secrets_secret_type_tip_1: 'generic: 普通密钥，把整个文件的内容做成secret',
      lang_form_deploy_container_def_deploy_secrets_secret_type_tip_2: 'docker-registry: 把~/.docker/config.json的内容做成secret',
      lang_form_deploy_container_def_deploy_secrets_secret_type_tip_3: 'tls: 制作tls证书类型的secret',
      lang_form_deploy_container_def_deploy_secrets_from_file_type: '来源的文件类型(fromFileType)*',
      lang_form_deploy_container_def_deploy_secrets_from_file_type_tip_1: 'from_file: 来源于文件，把整个文件保存到secret',
      lang_form_deploy_container_def_deploy_secrets_from_file_type_tip_2: 'from_env_file: 来源于环境变量文件，环境变量文件内容格式为"key=value"，把环境变量文件中的变量名和变量值以键值对形式保存到secret',
      lang_form_deploy_container_def_deploy_secrets_paths: '文件所在代码目录相对路径(paths)*',
      lang_form_deploy_container_def_deploy_secrets_paths_tip_1: '支持多个文件，必须填写文件，不能填写目录，路径都不能以/开头',
      lang_form_deploy_container_def_deploy_secrets_docker_config: 'docker的客户端设置文件所在代码目录相对路径(dockerConfig)*',
      lang_form_deploy_container_def_deploy_secrets_cert: 'tls.crt证书文件所在代码目录相对路径(cert)*',
      lang_form_deploy_container_def_deploy_secrets_key: 'tls.key证书文件所在代码目录相对路径(key)*',
      lang_form_deploy_container_def_lifecycle: '容器生命周期事件设置(lifecycle)',
      lang_form_deploy_container_def_lifecycle_tip_1: '容器生命周期某个事件触发的时候，执行特定命令设置',
      lang_form_deploy_container_def_lifecycle_post_start: '容器启动后生命周期事件设置(postStart)',
      lang_form_deploy_container_def_lifecycle_post_start_tip_1: '当容器启动后，执行以下设置的命令',
      lang_form_deploy_container_def_lifecycle_post_start_select_method: '执行命令方式选择(lifecyclePostStartMethod)',
      lang_form_deploy_container_def_lifecycle_pre_stop: '容器停止前生命周期事件设置(preStop)',
      lang_form_deploy_container_def_lifecycle_pre_stop_tip_1: '当容器停止前，执行以下设置的命令',
      lang_form_deploy_container_def_lifecycle_pre_stop_select_method: '执行命令方式选择(lifecyclePreStopMethod)',
      lang_form_deploy_container_def_lifecycle_exec: '执行命令并检查命令执行状态(exec)*',
      lang_form_deploy_container_def_lifecycle_exec_tip_1: '假如命令状态执行成功表示检查成功',
      lang_form_deploy_container_def_lifecycle_http_get: '执行http get命令并检查是否可连接(httpGet)*',
      lang_form_deploy_container_def_lifecycle_http_get_tip_1: '通过http get方法访问指定路径和端口返回的状态码，如果状态码返回2XX-3XX则表示服务正常',
      lang_form_deploy_container_def_lifecycle_http_get_path: '本应用的http路径(path)',
      lang_form_deploy_container_def_lifecycle_http_get_port: '本应用的http端口(port)*',
      lang_form_deploy_container_def_lifecycle_http_get_scheme: '请求的scheme(scheme)',
      lang_form_deploy_container_def_lifecycle_http_get_http_headers: '请求中自定义的HTTP头(httpHeaders)',
      lang_form_deploy_container_def_lifecycle_http_get_http_headers_name: 'httpHeader名称(name)*',
      lang_form_deploy_container_def_lifecycle_http_get_http_headers_value: 'httpHeader值(value)*',
      lang_form_deploy_container_def_working_dir: '容器发布模块的工作目录设置(workingDir)',
      lang_form_deploy_container_def_working_dir_tip_1: '容器的默认工作目录，请填写绝对路径，必须以/开头',
      lang_form_deploy_container_def_node_selector: '容器发布模块的节点选择器设置(nodeSelector)',
      lang_form_deploy_container_def_node_selector_tip_1: '容器在包含以下标签的节点上启动',
      lang_form_deploy_container_def_node_name: '容器发布模块的启动节点设置(nodeName)',
      lang_form_deploy_container_def_node_name_tip_1: '容器在以下名字的节点上启动',
      lang_form_deploy_container_def_termination_grace_period_seconds: '优雅地停止容器所等待的时长设置(terminationGracePeriodSeconds)',
      lang_form_deploy_container_def_termination_grace_period_seconds_tip_1: '等待容器优雅地停止的时长设置，超过这个时间会直接执行kill容器的操作，单位秒，默认30秒',
      lang_form_deploy_container_def_subdomain: '访问该pod的子域名设置(subdomain)',
      lang_form_deploy_container_def_subdomain_tip_1: '假如不设置子域名，该pod不能通过内部域名访问',
      lang_form_deploy_container_def_subdomain_tip_2: '假如设置了子域名，该pod可以通过内部域名访问，内部完整域名为: <hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>',
      lang_form_deploy_container_def_enable_downward_api: '是否启用downwardAPI(enableDownwardApi)',
      lang_form_deploy_container_def_enable_downward_api_tip_1: '假如启用downwardAPI，将会把pod的状态信息暴露成环境变量和文件',
      lang_form_deploy_container_def_enable_downward_api_tip_2: '包含的环境变量包括: K8S_METADATA_NAME, K8S_METADATA_NAMESPACE, K8S_METADATA_UID, K8S_SPEC_SERVICEACCOUNTNAME, K8S_SPEC_NODENAME, K8S_STATUS_HOSTIP, K8S_STATUS_PODIP, K8S_RESOURCE_LIMITS_CPU, K8S_RESOURCE_REQUESTS_CPU, K8S_RESOURCE_LIMITS_MEMORY, K8S_RESOURCE_REQUESTS_MEMORY',
      lang_form_deploy_container_def_enable_downward_api_tip_3: 'pod的labels和annotations信息将会存放在pod容器的/etc/k8s-pod-meta目录',
      lang_form_deploy_container_def_restart_policy: '重启策略(restartPolicy)',
      lang_form_deploy_container_def_restart_policy_always: 'Always: 非运行状态下一直重启（默认）',
      lang_form_deploy_container_def_restart_policy_on_failure: 'OnFailure: 异常情况下重启',
      lang_form_deploy_container_def_restart_policy_never: 'Never: 不重启',
      lang_form_deploy_container_def_job: '任务设置(job)',
      lang_form_deploy_container_def_job_tip_1: 'deployType 为 job 或者 cronjob 情况下需要填写',
      lang_form_deploy_container_def_job_completions: '成功执行多少个子任务表示成功(completions)*',
      lang_form_deploy_container_def_job_completions_tip_1: '默认为1，必须大于1',
      lang_form_deploy_container_def_job_parallelism: '可以并行执行多少个子任务(parallelism)*',
      lang_form_deploy_container_def_job_parallelism_tip_1: '默认为1，必须大于1',
      lang_form_deploy_container_def_job_completion_mode: '子任务的编号模式(completionMode)',
      lang_form_deploy_container_def_job_completion_mode_tip_1: 'NonIndexed: 子任务随机编号，子任务以随机顺序执行（默认）',
      lang_form_deploy_container_def_job_completion_mode_tip_2: 'Indexed: 子任务顺序编号，子任务以编号顺序执行',
      lang_form_deploy_container_def_job_backoff_limit: '子任务允许失败多少次(backoffLimit)',
      lang_form_deploy_container_def_job_backoff_limit_tip_1: '默认不设置为6',
      lang_form_deploy_container_def_job_active_deadline_seconds: '允许任务执行多长时间，单位秒(activeDeadlineSeconds)',
      lang_form_deploy_container_def_job_active_deadline_seconds_tip_1: '超过设置时长就会自动结束整个任务',
      lang_form_deploy_container_def_job_active_deadline_seconds_tip_2: '不设置表示不限制时长',
      lang_form_deploy_container_def_job_ttl_seconds_after_finished: '任务结束后多长时间自动删除子任务的容器，单位秒(ttlSecondsAfterFinished)',
      lang_form_deploy_container_def_job_ttl_seconds_after_finished_tip_1: '超过设置时长就会自动删除子任务的容器',
      lang_form_deploy_container_def_job_ttl_seconds_after_finished_tip_2: '不设置表示不自动删除子任务的容器',
      lang_form_deploy_container_def_cron_job: '计划任务设置(cronJob)',
      lang_form_deploy_container_def_cron_job_tip_1: 'deployType 为 cronjob 情况下需要填写',
      lang_form_deploy_container_def_cron_job_schedule: '计划任务(schedule)*',
      lang_form_deploy_container_def_cron_job_schedule_tip_1: '必须遵循crontab的格式',
      lang_form_deploy_container_def_cron_job_schedule_tip_2: '例如: */5 5 * * *',
      lang_form_deploy_container_def_cron_job_concurrency_policy: '计划任务创建的任务执行时发生重叠如何处理(concurrencyPolicy)',
      lang_form_deploy_container_def_cron_job_concurrency_policy_tip_1: 'Allow: 允许并发任务执行（默认）',
      lang_form_deploy_container_def_cron_job_concurrency_policy_tip_2: 'Forbid: 不允许并发任务执行；如果新任务的执行时间到了而老任务没有执行完，计划任务会忽略新任务的执行',
      lang_form_deploy_container_def_cron_job_concurrency_policy_tip_3: 'Replace: 如果新任务的执行时间到了而老任务没有执行完，计划任务会用新任务替换当前正在运行的任务',
      lang_form_deploy_container_def_cron_job_starting_deadline_seconds: '任务延迟开始的最后期限，单位秒(startingDeadlineSeconds)',
      lang_form_deploy_container_def_cron_job_starting_deadline_seconds_tip_1: '任务如果由于某种原因错过了调度时间，开始该任务的截止时间的秒数',
      lang_form_deploy_container_def_cron_job_starting_deadline_seconds_tip_2: '不设置表示假如超过截止时间，计划任务不会开始该任务的实例',
      lang_form_deploy_container_def_cron_job_successful_jobs_history_limit: '保留多少已成功的任务(successfulJobsHistoryLimit)',
      lang_form_deploy_container_def_cron_job_successful_jobs_history_limit_tip_1: '默认为3，设置为0表示不保留',
      lang_form_deploy_container_def_cron_job_failed_jobs_history_limit: '保留多少已失败的任务(failedJobsHistoryLimit)',
      lang_form_deploy_container_def_cron_job_failed_jobs_history_limit_tip_1: '默认为1，设置为0表示不保留',
      lang_form_deploy_container_def_patches: '通过patch方式追加额外的部署参数(patches)',
      lang_form_deploy_container_def_patches_tip_1: '假如容器部署定义中的设置参数不满足要求，那么可以使用patch的方式给容器部署追加参数',
      lang_form_deploy_container_def_patches_tip_2: '只有项目名字空间开启特权模式情况下，才能通过patch方式追加额外的部署参数',
      lang_form_deploy_container_def_patches_resource_kind: '需要patch的资源类型(resourceKind)*',
      lang_form_deploy_container_def_patches_resource_kind_tip_1: '其中deployment表示对deployment或者statefulset进行patch',
      lang_form_deploy_container_def_patches_path: 'patch参数路径(path)*',
      lang_form_deploy_container_def_patches_path_tip_1: '例如: spec.template.spec.containers.0.envFrom',
      lang_form_deploy_container_def_patches_path_tip_2: '假如该路径下不存在对应的部署参数，那么patch路径的部署参数设置直接替换为patch内容',
      lang_form_deploy_container_def_patches_path_tip_3: '假如该路径下已经存在对应的部署参数，并且部署参数的类型为数组，那么patch内容会追加到patch路径的部署参数中',
      lang_form_deploy_container_def_patches_path_tip_4: '假如该路径下已经存在对应的部署参数，并且部署参数的类型不为数组，那么不更新部署参数',
      lang_form_deploy_container_def_patches_content: 'patch参数值(content)*',
      lang_form_deploy_container_def_patches_content_tip_1: '支持多种数据类型: string bool integer float map array',
      lang_form_deploy_container_def_patches_content_tip_2: '假如数据类型为map或者array，请使用yaml格式填写参数值',
      lang_form_deploy_container_def_patches_content_tip_3: '假如patch路径的参数类型为array，patch参数值也必须是array',
      lang_form_deploy_container_def_patches_content_tip_4: '格式例如:',
      lang_form_deploy_container_def_patches_content_tip_5: '- name: init-myservice',
      lang_form_deploy_container_def_patches_content_tip_6: '  image: busybox:1.28',
      lang_form_deploy_container_def_patches_content_tip_7: '  command: ["sh", "-c", "until nslookup myservice; do echo waiting; sleep 2; done"]',
      lang_form_deploy_artifact_def_deploy_artifact_name: '制品发布模块名称(deployArtifactName)*',
      lang_form_deploy_artifact_def_deploy_artifact_name_tip_1: '格式例如：{0}-gin-demo，必须以 {0}- 开头',
      lang_form_deploy_artifact_def_related_artifact: '来源制品打包模块(relatedArtifact)*',
      lang_form_deploy_artifact_def_related_artifact_tip_1: '制品发布模块的制品来源于哪些制品打包模块',
      lang_form_deploy_artifact_def_hosts: '模块要部署到哪些主机上(hosts)*',
      lang_form_deploy_artifact_def_hosts_tip_1: '对应项目环境的主机设置的groups分组，如果该分组下有多台主机，支持部署到多台主机上',
      lang_form_deploy_artifact_def_variables: '模块部署相关变量(variables)',
      lang_form_deploy_artifact_def_variables_tip_1: '在进行该模块部署的时候，可以使用以下变量进行模块部署',
      lang_form_deploy_artifact_def_variables_tip_2: '变量名格式例如: backup_dir, service_port',
      lang_form_deploy_artifact_def_variables_tip_3: '内置所有流水线变量，详细参见hosts.ini输出，例如:',
      lang_form_deploy_artifact_def_variables_tip_4: 'project_name（项目名字，本项目的唯一标识，对应projectName）',
      lang_form_deploy_artifact_def_variables_tip_5: 'module_name（模块名字，对应deployArtifactName）',
      lang_form_deploy_artifact_def_variables_tip_6: 'pipeline_name（流水线名字，对应pipelineName）',
      lang_form_deploy_artifact_def_variables_tip_7: 'run_name（本次运行名字，对应runName）',
      lang_form_deploy_artifact_def_variables_tip_8: 'branch_name（分支名字，对应branchName）',
      lang_form_deploy_artifact_def_variables_tip_9: 'env_name（本次发布环境名字，对应envName）',
      lang_form_deploy_artifact_def_variables_tip_10: 'latest_commit（本次运行最新代码commit，对应latestCommit）',
      lang_form_deploy_artifact_def_variables_tip_11: 'tag_name（本次运行对应的代码tag标签，对应tagName）',
      lang_form_deploy_artifact_def_variables_tip_12: 'project_short_name（项目缩写，对应projectShortName）',
      lang_form_deploy_artifact_def_variables_name: '变量名',
      lang_form_deploy_artifact_def_variables_value: '变量值',
      lang_form_deploy_artifact_def_tasks: '部署任务的ansible-playbook的tasks设置(tasks)*',
      lang_form_deploy_artifact_def_tasks_tip_1: 'playbook的task详细参考: https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html',
      lang_form_deploy_artifact_def_tasks_tip_2: '注意，模块的制品会自动下载在当前目录，名字为 <module_name>.tar.gz',
      lang_form_istio_def_deploy_name: '启用服务网格的容器部署模块名(deployName)*',
      lang_form_istio_def_deploy_name_tip_1: '格式例如：{0}-gin-demo，必须以 {0}- 开头',
      lang_form_istio_def_port: '对应的服务端口(port)*',
      lang_form_istio_def_port_tip_1: '设置服务网格对应的服务端口',
      lang_form_istio_def_port_tip_2: '注意：必须与容器发布模块定义的服务端口保持一致',
      lang_form_istio_def_protocol: '对应的服务端口协议类型(protocol)*',
      lang_form_istio_def_protocol_tip_1: '注意：必须与容器发布模块定义的服务端口协议保持一致',
      lang_form_istio_def_http_settings: 'http服务网格设置(httpSettings)',
      lang_form_istio_def_http_settings_match_headers: 'http头匹配规则(matchHeaders)',
      lang_form_istio_def_http_settings_match_headers_tip_1: '需要启用AB测试的情况下请设置，当header符合哪些规则情况下流量切换到新版本',
      lang_form_istio_def_http_settings_match_headers_tip_2: '例如，当header包含user-agent字段，并且值包含Chrome的情况下，切换到新版本流量',
      lang_form_istio_def_http_settings_match_headers_header: 'header的名字(header)*',
      lang_form_istio_def_http_settings_match_headers_match_type: 'header匹配规则(matchType)*',
      lang_form_istio_def_http_settings_match_headers_match_value: 'header的匹配值(matchValue)*',
      lang_form_istio_def_http_settings_gateway: '从gateway进入的流量设置(gateway)',
      lang_form_istio_def_http_settings_gateway_tip_1: '如果本服务需要在集群外部通过域名来访问，那么需要填写gateway设置',
      lang_form_istio_def_http_settings_gateway_rewriteUri: '访问本服务的uri重写规则(rewriteUri)',
      lang_form_istio_def_http_settings_gateway_rewriteUri_tip_1: '通过域名请求这个uri，会通过rewrite方式路由到本服务',
      lang_form_istio_def_http_settings_gateway_rewriteUri_tip_2: '当访问 http://<域名>/<rewriteUri>/xxx 的时候，将会路由到本服务的/xxx这个uri',
      lang_form_istio_def_http_settings_gateway_match_uris: '访问本服务的uri规则(matchUris)',
      lang_form_istio_def_http_settings_gateway_match_uris_tip_1: '当请求符合该规则的情况下，会路由到本服务',
      lang_form_istio_def_http_settings_gateway_match_uris_tip_2: '例如matchType为exact模式，访问 http://<域名>/<matchValue> 将会路由到本服务的 / 路径',
      lang_form_istio_def_http_settings_gateway_match_uris_tip_3: '例如matchType为prefix模式，访问 http://<域名>/<matchValue>/xxx 将会路由到本服务的 /xxx 路径',
      lang_form_istio_def_http_settings_gateway_match_uris_match_type: 'uri匹配规则(matchType)*',
      lang_form_istio_def_http_settings_gateway_match_uris_match_value: 'uri的匹配值(matchValue)*',
      lang_form_istio_def_http_settings_gateway_match_default: '是否默认gateway路由(matchDefault)',
      lang_form_istio_def_http_settings_gateway_match_default_tip_1: '设置是的情况下，访问gateway域名会默认路由到本服务',
      lang_form_istio_def_http_settings_gateway_match_default_tip_2: '当请求的uri不匹配上边的 rewriteUri 和 matchUris 规则情况下，将会路由到本服务',
      lang_form_istio_def_http_settings_gateway_match_default_tip_3: '注意，一个项目必须有且只有一个服务是默认gateway',
      lang_form_istio_def_http_settings_timeout: '请求超时时长(timeout)',
      lang_form_istio_def_http_settings_timeout_tip_1: '超过此时间的请求将会直接返回超时错误',
      lang_form_istio_def_http_settings_timeout_tip_2: 'm表示分钟、s表示秒钟、ms表示毫秒，例如10ms',
      lang_form_istio_def_http_settings_retries: '重试设置(retries)',
      lang_form_istio_def_http_settings_retries_tip_1: '设置重新发起请求的规则',
      lang_form_istio_def_http_settings_retries_retry_on: '重试条件(retryOn)*',
      lang_form_istio_def_http_settings_retries_retry_on_tip_1: '支持以下重试条件',
      lang_form_istio_def_http_settings_retries_retry_on_tip_2: '5xx: 返回5XX状态码的情况下重试',
      lang_form_istio_def_http_settings_retries_retry_on_tip_3: 'gateway-error: 状态码为502,503,504的情况下重试',
      lang_form_istio_def_http_settings_retries_retry_on_tip_4: 'reset: 无响应的情况下重试',
      lang_form_istio_def_http_settings_retries_retry_on_tip_5: 'connect-failure: 连接失败的情况下重试',
      lang_form_istio_def_http_settings_retries_retry_on_tip_6: 'refused-stream: 拒绝连接的情况下重试',
      lang_form_istio_def_http_settings_retries_attempts: '重试次数(attempts)*',
      lang_form_istio_def_http_settings_retries_per_try_timeout: '重试的超时时长(perTryTimeout)',
      lang_form_istio_def_http_settings_retries_per_try_timeout_tip_1: '格式m表示分钟、s表示秒钟、ms表示毫秒，例如10ms',
      lang_form_istio_def_http_settings_mirror: '流量镜像设置(mirror)',
      lang_form_istio_def_http_settings_mirror_tip_1: '把请求本服务的流量镜像到其他目标服务上',
      lang_form_istio_def_http_settings_mirror_host: '目标服务地址(host)*',
      lang_form_istio_def_http_settings_mirror_port: '目标服务端口(port)*',
      lang_form_istio_def_http_settings_mirror_subset: '目标服务的子集(subset)',
      lang_form_istio_def_http_settings_mirror_mirror_percent: '镜像比例(mirrorPercent)',
      lang_form_istio_def_http_settings_mirror_mirror_percent_tip_1: '不填写表示镜像全部流量',
      lang_form_istio_def_http_settings_cors_policy: 'CORS跨域资源共享策略设置(corsPolicy)',
      lang_form_istio_def_http_settings_cors_policy_allow_origins: '允许的来源域名规则(allowOrigins)',
      lang_form_istio_def_http_settings_cors_policy_allow_origins_tip_1: 'exact: 等于',
      lang_form_istio_def_http_settings_cors_policy_allow_origins_tip_2: 'prefix: 前缀',
      lang_form_istio_def_http_settings_cors_policy_allow_origins_tip_3: 'regex: 正则式',
      lang_form_istio_def_http_settings_cors_policy_allow_origins_match_type: '匹配方式',
      lang_form_istio_def_http_settings_cors_policy_allow_origins_match_value: '匹配值',
      lang_form_istio_def_http_settings_cors_policy_allow_methods: '允许的http请求方法(allowMethods)',
      lang_form_istio_def_http_settings_cors_policy_allow_credentials: '是否允许使用证书(allowCredentials)',
      lang_form_istio_def_http_settings_cors_policy_allow_headers: '允许的headers(allowHeaders)',
      lang_form_istio_def_http_settings_cors_policy_allow_headers_tip_1: '支持多个header，输入回车分隔每个header',
      lang_form_istio_def_http_settings_cors_policy_expose_headers: '允许对外暴露的headers(exposeHeaders)',
      lang_form_istio_def_http_settings_cors_policy_expose_headers_tip_1: '支持多个header，输入回车分隔每个header',
      lang_form_istio_def_http_settings_cors_policy_max_age: '有效期(maxAge)',
      lang_form_istio_def_http_settings_cors_policy_max_age_tip_1: '格式h表示小时、m表示分钟、s表示秒钟、ms表示毫秒，例如10ms',
      lang_form_istio_def_http_settings_load_balancer: '负载均衡设置(loadBalancer)',
      lang_form_istio_def_http_settings_load_balancer_simple: '负载均衡算法(simple)',
      lang_form_istio_def_http_settings_load_balancer_simple_tip_1: 'ROUND_ROBIN: 轮询，默认',
      lang_form_istio_def_http_settings_load_balancer_simple_tip_2: 'LEAST_CONN: 最少连接优先',
      lang_form_istio_def_http_settings_load_balancer_simple_tip_3: 'RANDOM: 随机',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash: 'HASH连接保持算法(consistentHash)',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_tip_1: '对http请求中的特定信息进行hash，hash值一致的流量会保持连接相同的后端服务',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_header_name: 'httpHeader名字(httpHeaderName)',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_header_name_tip_1: '对httpHeader名字进行hash',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_cookie: 'http cookie(httpCookie)',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_cookie_tip_1: '对httpCookie进行hash',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_cookie_name: 'cookie名字(name)*',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_cookie_path: 'cookie路径(path)',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_cookie_ttl: '有效期(ttl)*',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_cookie_ttl_tip_1: '格式h表示小时、m表示分钟、s表示秒钟、ms表示毫秒，例如10ms',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_use_source_ip: '来源ip(useSourceIp)',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_use_source_ip_tip_1: '对来源ip进行hash',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_query_parameter_name: 'http请求参数(httpQueryParameterName)',
      lang_form_istio_def_http_settings_load_balancer_consistent_hash_http_query_parameter_name_tip_1: '对http请求参数进行hash',
      lang_form_istio_def_http_settings_connection_pool: '连接池设置(connectionPool)',
      lang_form_istio_def_http_settings_connection_pool_http: 'http连接池设置(http)',
      lang_form_istio_def_http_settings_connection_pool_http_http1_max_pending_requests: 'http并发请求最大值(http1MaxPendingRequests)',
      lang_form_istio_def_http_settings_connection_pool_http_http2_max_requests: 'http2并发请求最大值(http2MaxRequests)',
      lang_form_istio_def_http_settings_connection_pool_http_max_requests_per_connection: '每个http连接最多多少个请求(maxRequestsPerConnection)',
      lang_form_istio_def_http_settings_connection_pool_http_max_retries: 'http最大重试次数(maxRetries)',
      lang_form_istio_def_http_settings_connection_pool_http_idle_timeout: '空闲多长时间释放连接(idleTimeout)',
      lang_form_istio_def_http_settings_connection_pool_http_idle_timeout_tip_1: '格式h表示小时、m表示分钟、s表示秒钟、ms表示毫秒，例如10ms',
      lang_form_istio_def_http_settings_connection_pool_tcp: 'tcp连接池设置(tcp)',
      lang_form_istio_def_http_settings_connection_pool_tcp_max_connections: 'tcp最大连接数(maxConnections)',
      lang_form_istio_def_http_settings_connection_pool_tcp_connect_timeout: 'tcp连接超时时长(connectTimeout)',
      lang_form_istio_def_http_settings_connection_pool_tcp_connect_timeout_tip_1: '格式h表示小时、m表示分钟、s表示秒钟、ms表示毫秒，例如10ms',
      lang_form_istio_def_http_settings_outlier_detection: '熔断设置(outlierDetection)',
      lang_form_istio_def_http_settings_outlier_detection_tip_1: '当请求的目标服务端点出现异常情况下，把该目标服务的端点设置不可访问，直到服务端点恢复正常',
      lang_form_istio_def_http_settings_outlier_detection_consecutive_gateway_errors: '当出现gateway错误次数(consecutiveGatewayErrors)',
      lang_form_istio_def_http_settings_outlier_detection_consecutive_gateway_errors_tip_1: '出现多少次错误的情况下熔断',
      lang_form_istio_def_http_settings_outlier_detection_consecutive_5xx_errors: '当出现5XX状态码错误次数(consecutive5xxErrors)',
      lang_form_istio_def_http_settings_outlier_detection_consecutive_5xx_errors_tip_1: '出现多少次错误的情况下熔断',
      lang_form_istio_def_http_settings_outlier_detection_interval: '熔断分析时间间隔(interval)',
      lang_form_istio_def_http_settings_outlier_detection_interval_tip_1: '格式h表示小时、m表示分钟、s表示秒钟、ms表示毫秒，例如10ms',
      lang_form_istio_def_http_settings_outlier_detection_interval_tip_2: '默认10s',
      lang_form_istio_def_http_settings_outlier_detection_base_ejection_time: '最小驱逐时长(baseEjectionTime)',
      lang_form_istio_def_http_settings_outlier_detection_base_ejection_time_tip_1: '格式h表示小时、m表示分钟、s表示秒钟、ms表示毫秒，例如10ms',
      lang_form_istio_def_http_settings_outlier_detection_base_ejection_time_tip_2: '默认30s',
      lang_form_istio_def_http_settings_outlier_detection_max_ejection_percent: '最大驱逐百分比(maxEjectionPercent)',
      lang_form_istio_def_http_settings_outlier_detection_max_ejection_percent_tip_1: '最多驱逐百分之多少的目标服务端点',
      lang_form_istio_def_http_settings_outlier_detection_max_ejection_percent_tip_2: '默认10',
      lang_form_istio_def_http_settings_outlier_detection_min_health_percent: '最少健康百分比(minHealthPercent)',
      lang_form_istio_def_http_settings_outlier_detection_min_health_percent_tip_1: '保证至少百分之多少的目标服务端点为健康状态',
      lang_form_istio_def_tcp_settings: 'tcp服务网格设置(tcpSettings)',
      lang_form_istio_def_tcp_settings_source_service_names: '来源服务名称(sourceServiceNames)*',
      lang_form_istio_def_tcp_settings_source_service_names_tip_1: '网格内的哪些服务会访问本服务',
      lang_form_istio_gateway_def_enable: '是否启用服务网格(enable)*',
      lang_form_istio_gateway_def_enable_tip_1: '假如设置启用服务网格，请设置以下所有参数',
      lang_form_istio_gateway_def_host_default: '默认版本域名(hostDefault)',
      lang_form_istio_gateway_def_host_default_tip_1: '默认版本，用于蓝绿发布的默认流量',
      lang_form_istio_gateway_def_host_new: '新版本域名(hostNew)',
      lang_form_istio_gateway_def_host_new_tip_1: '新版本，用于蓝绿发布的新版本流量',
      lang_form_istio_gateway_def_source_subset_header: '微服务中需要进行透传的http header名字(sourceSubsetHeader)',
      lang_form_istio_gateway_def_source_subset_header_tip_1: '假如需要启用多个微服务调用链的灰度发布，微服务需要进行改造',
      lang_form_istio_gateway_def_source_subset_header_tip_2: '对于新版本服务请求，服务网格自动设置该header值为new',
      lang_form_istio_gateway_def_source_subset_header_tip_3: '微服务被请求的时候，如果还要请求别的微服务，请透传该header',
      lang_form_pipeline_def_is_auto_detect_build: '是否开启构建模块自动检测(isAutoDetectBuild)',
      lang_form_pipeline_def_is_auto_detect_build_tip_1: '假如开启，流水线会根据代码提交内容，自动检测哪些构建模块代码路径中有文件发生变更，并自动开启该构建模块的构建开关',
      lang_form_pipeline_def_is_auto_detect_build_tip_2: '假如开启，流水线自动忽略以下构建开关设置(builds)',
      lang_form_pipeline_def_is_queue: '是否禁止并行执行(isQueue)',
      lang_form_pipeline_def_is_queue_tip_1: '假如开启，该流水线只能同时有一个运行在执行，后续执行的运行都会以队列的形式等待前边的运行结束后执行',
      lang_form_pipeline_def_builds: '构建模块开关设置(builds)*',
      lang_form_pipeline_def_builds_tip_1: '设置哪些模块需要构建，点击表示开启或者关闭',
      lang_form_pipeline_def_builds_tip_2: '是否开启构建模块自动检测（isAutoDetectBuild）开启状态下不能设置',
      lang_form_pipeline_def_pipeline_step: '流水线步骤设置(pipelineStep)*',
      lang_form_pipeline_def_pipeline_step_tip_1: '需要开启的步骤设置为true，需要关闭的步骤设置为false',
      lang_form_pipeline_def_pipeline_step_timeout: '超时设置(timeout)',
      lang_form_pipeline_def_pipeline_step_timeout_tip_1: '0表示不限时，单位:秒',
      lang_form_pipeline_def_pipeline_step_enable: '是否启用(enable)',
      lang_form_pipeline_def_pipeline_step_retry: '重试设置(retry)',
      lang_form_pipeline_def_pipeline_step_retry_tip_1: '执行异常的情况下重试次数',
      lang_form_pipeline_def_pipeline_step_passing_rate: '测试用例通过百分比(passingRate)',
      lang_form_pipeline_def_pipeline_step_passing_rate_tip_1: '取值范围0-100，设置90表示90%以上测试用例通过为正常',
      lang_form_pipeline_def_pipeline_step_ignore_execute_module_names: '忽略执行的模块名(ignoreExecuteModuleNames)',
      lang_form_pipeline_def_pipeline_step_ignore_execute_module_names_tip_1: '只要模块名中包含设置的字符串就会忽略执行，支持多个设置项，输入回车分隔',
      lang_form_pipeline_def_pipeline_step_gate_medium: '中风险漏洞门禁数量(gateMedium)',
      lang_form_pipeline_def_pipeline_step_gate_medium_tip_1: '超过该数量漏洞则镜像扫描失败',
      lang_form_pipeline_def_pipeline_step_gate_high: '高风险漏洞门禁数量(gateHigh)',
      lang_form_pipeline_def_pipeline_step_gate_high_tip_1: '超过该数量漏洞则镜像扫描失败',
      lang_form_pipeline_def_pipeline_step_gate_critical: '关键风险漏洞门禁数量(gateCritical)',
      lang_form_pipeline_def_pipeline_step_gate_critical_tip_1: '超过该数量漏洞则镜像扫描失败',
      lang_form_pipeline_def_pipeline_step_ignore_error: '异常是否继续执行(ignoreError)',
      lang_form_pipeline_def_pipeline_step_repeat: '检查次数设置(repeat)',
      lang_form_pipeline_def_pipeline_step_repeat_tip_1: '检查次数，0表示使用默认设置',
      lang_form_pipeline_def_pipeline_step_repeat_interval: '检查间隔设置(repeatInterval)',
      lang_form_pipeline_def_pipeline_step_repeat_interval_tip_1: '0表示使用默认设置，单位:秒',
      lang_form_pipeline_def_pipeline_step_enable_input: '步骤执行前需要人工确认(enableInput)',
      lang_form_pipeline_def_pipeline_step_enable_input_tip_1: '步骤执行前需要人工确认，才会继续执行本步骤',
      lang_form_pipeline_def_pipeline_step_is_api_only: '步骤执行前需要API接口确认(isApiOnly)',
      lang_form_pipeline_def_pipeline_step_is_api_only_tip_1: '步骤执行前需要通过API接口确认后，才会继续执行本步骤',
      lang_form_pipeline_def_pipeline_step_enable_input_finish: '步骤执行后需要人工确认(enableInputFinish)',
      lang_form_pipeline_def_pipeline_step_enable_input_finish_tip_1: '步骤执行后需要人工确认，才会继续执行后续步骤',
      lang_form_pipeline_def_pipeline_step_is_api_only_finish: '步骤执行后需要API接口确认(isApiOnlyFinish)',
      lang_form_pipeline_def_pipeline_step_is_api_only_finish_tip_1: '步骤执行后需要通过API接口确认后，才会继续执行后续步骤',
      lang_form_pipeline_def_pipeline_step_force_replace: '强制替换资源(forceReplace)',
      lang_form_pipeline_def_pipeline_step_force_replace_tip_1: '执行kubectl apply的时候是否强制先delete资源再apply资源',
      lang_form_pipeline_def_pipeline_step_archive: '把部署文件归档到制品库(archive)',
      lang_form_pipeline_def_pipeline_step_archive_tip_1: '生成的部署文件归档到制品库的项目raw仓库',
      lang_form_pipeline_def_pipeline_step_try: '不执行实际部署(try)',
      lang_form_pipeline_def_pipeline_step_try_tip_1: '是否只校验部署设置，但不进行实际部署',
      lang_form_pipeline_def_pipeline_step_select_tag: '选择tag进行后续集成(selectTag)',
      lang_form_pipeline_def_pipeline_step_select_tag_tip_1: '是否需要切换到该代码分支下特定的tag进行后续集成',
      lang_form_pipeline_def_pipeline_step_step_action: '步骤名称(stepAction)',
      lang_form_pipeline_def_pipeline_step_git_pull: '拉取代码',
      lang_form_pipeline_def_pipeline_step_get_run_settings: '获取运行配置',
      lang_form_pipeline_def_pipeline_step_build: '编译构建代码',
      lang_form_pipeline_def_pipeline_step_scan_code: '代码扫描',
      lang_form_pipeline_def_pipeline_step_package_image: '镜像打包上传',
      lang_form_pipeline_def_pipeline_step_scan_image: '镜像扫描',
      lang_form_pipeline_def_pipeline_step_artifact: '制品打包上传',
      lang_form_pipeline_def_pipeline_step_sync_image: '同步生产环境镜像到测试环境',
      lang_form_pipeline_def_pipeline_step_deploy: '容器应用部署',
      lang_form_pipeline_def_pipeline_step_apply_ingress: '部署ingress',
      lang_form_pipeline_def_pipeline_step_apply_mesh: '服务网格设置',
      lang_form_pipeline_def_pipeline_step_check_deploy: '容器应用状态检查',
      lang_form_pipeline_def_pipeline_step_check_quota: '项目容器资源配额检查',
      lang_form_pipeline_def_pipeline_step_deploy_artifact: '主机应用部署',
      lang_form_pipeline_def_pipeline_step_test_api: '接口自动化测试',
      lang_form_pipeline_def_pipeline_step_test_performance: '性能自动化测试',
      lang_form_pipeline_def_pipeline_step_test_webui: '界面自动化测试',
      lang_form_pipeline_def_pipeline_step_input: '等待输入',
      lang_form_pipeline_def_insert_custom_steps: '请选择要插入的自定义步骤',
      lang_form_pipeline_def_select_custom_steps: '请选择自定义步骤',
      lang_form_custom_step_def_custom_step_name: '自定义步骤名(customStepName)*',
      lang_form_custom_step_def_enable_mode: '自定义步骤的启用模式(enableMode)*',
      lang_form_custom_step_def_enable_mode_tip_1: '手动模式必须设置manualEnable表示是否启用本模块',
      lang_form_custom_step_def_enable_mode_tip_2: '选择其他模式表示对应的内置模块被设置为启用的时候，本自定义步骤模块为启用。自动模式必须设置relatedStepModules，支持关联多个模块，任何一个关联模块为启用，那么本模块为启用',
      lang_form_custom_step_def_custom_step_module_defs: '自定义步骤的模块设置(customStepModuleDefs)*',
      lang_form_custom_step_def_custom_step_module_defs_module_name: '模块名称(moduleName)*',
      lang_form_custom_step_def_custom_step_module_defs_module_name_tip_1: '格式例如：{0}-gin-demo，必须以 {0}- 开头',
      lang_form_custom_step_def_custom_step_module_defs_related_step_modules: '相关启用的步骤模块(relatedStepModules)*',
      lang_form_custom_step_def_custom_step_module_defs_related_step_modules_tip_1: '支持关联多个模块，任何一个关联模块为启用，那么本模块为启用',
      lang_form_custom_step_def_custom_step_module_defs_manual_enable: '手动启用模式(manualEnable)*',
      lang_form_custom_step_def_custom_step_module_defs_manual_enable_tip_1: '手工设置本模块是否启用',
      lang_form_custom_step_def_custom_step_module_defs_param_input_yaml: '模块输入参数(paramInputYaml)',
      lang_form_custom_step_def_custom_step_module_defs_param_input_yaml_tip_1: '自定义步骤的输入参数设置以及参数说明信息，使用yaml格式',
      lang_form_custom_step_def_custom_step_module_defs_param_input_yaml_tip_2: '设置该模块特定的步骤执行参数',
      lang_form_custom_step_def_custom_step_module_defs_param_input_yaml_tip_3: '该输入参数将会以文件的形式挂装到步骤执行容器的{0}.json或者.yaml文件，步骤执行容器可以读取该输入参数，进行相应的步骤处理',
      lang_form_custom_step_def_custom_step_module_defs_check_var_to_ignore: '通过流水线变量忽略步骤执行(checkVarToIgnore)',
      lang_form_custom_step_def_custom_step_module_defs_check_var_to_ignore_tip_1: '该自定义步骤在启用的情况才有效',
      lang_form_custom_step_def_custom_step_module_defs_check_var_to_ignore_tip_2: '支持流水线变量，当流水线变量的go template模板解析结果为`true`，则不执行本自定义步骤',
      lang_form_custom_step_def_custom_step_module_defs_check_var_to_ignore_tip_3: '为空表示不忽略步骤执行',
      lang_form_custom_step_def_custom_step_module_defs_check_var_to_ignore_tip_4: '例如: << if eq (where . `previousSteps.#(stepAction=="scanImage")(moduleName=="tp1-gin-demo").result` `string`) "FAIL" >>true<< end >>，<<和>>请替换为双花括号',
      lang_form_custom_ops_def_custom_ops_name: '自定义OPS操作名称(customOpsName)*',
      lang_form_custom_ops_def_custom_ops_name_tip_1: '格式例如：{0}-run-all-test，必须以 {0}- 开头',
      lang_form_custom_ops_def_custom_ops_desc: '自定义OPS操作说明(customOpsDesc)*',
      lang_form_custom_ops_def_custom_ops_desc_tip_1: '可以使用中文填写OPS操作说明',
      lang_form_custom_ops_def_custom_ops_desc_tip_2: 'OPS操作说明会出现在ops流水线的操作选择菜单中',
      lang_form_custom_ops_def_custom_ops_desc_tip_3: '例如: 运行所有自动化测试',
      lang_form_custom_ops_def_custom_ops_steps: '自定义OPS操作执行的步骤(customOpsSteps)*',
      lang_form_custom_ops_def_custom_ops_steps_tip_1: '请注意步骤的顺序',
      lang_form_ops_batch_def_ops_batch_name: '自定义OPS批处理名称(opsBatchName)*',
      lang_form_ops_batch_def_ops_batch_name_tip_1: '格式例如：{0}-run-all-test，必须以 {0}- 开头',
      lang_form_ops_batch_def_ops_batch_desc: '自定义OPS批处理说明(opsBatchDesc)*',
      lang_form_ops_batch_def_ops_batch_desc_tip_1: '可以使用中文填写OPS批处理说明',
      lang_form_ops_batch_def_batches: 'OPS流水线自动输入的批处理命令(batches)*',
      lang_form_ops_batch_def_batches_tip_1: '请注意批处理命令的输入顺序',
      lang_form_apply_title: '申请标题(title)*',
      lang_form_apply_title_tip_1: '请输入申请标题',
      lang_form_apply_content: '申请内容(content)*',
      lang_form_apply_content_tip_1: '请输入申请内容，并描述清楚申请原因',
      lang_form_apply_attachments: '附件(attachments)',
      lang_form_apply_attachments_tip_1: '申请相关附件信息',
      lang_form_new_project: '开通项目',
      lang_form_new_project_prompt: '创建上云应用项目，创建成功后会自动创建对应的项目代码仓库、项目镜像仓库、项目制品仓库、项目代码扫描仓库以及项目的kubernetes名字空间',
      lang_form_new_project_project_name: '项目名(projectName)*',
      lang_form_new_project_project_name_tip_1: '项目的英文唯一标识，创建后不能修改，格式例如：test-project1',
      lang_form_new_project_project_desc: '项目全称(projectDesc)*',
      lang_form_new_project_project_desc_tip_1: '格式例如：测试-项目1',
      lang_form_new_project_project_namespace: '项目名字空间(projectNamespace)',
      lang_form_new_project_project_namespace_tip_1: '假如选择已经存在的项目名字空间，表示该项目的应用可以发布到已经存在的kubernetes名字空间中',
      lang_form_new_project_project_namespace_auto_create: '自动创建项目kubernetes名字空间',
      lang_form_new_project_project_short_name: '项目缩写(projectShortName)*',
      lang_form_new_project_project_short_name_tip_1: '项目缩写，创建后不能修改，kubernetes中项目所有部署模块必须包含项目缩写作为前缀，小写英文或者数字，格式例如：tp1',
      lang_form_new_project_project_team: '项目团队(projectTeam)*',
      lang_form_new_project_project_team_tip_1: '项目团队，用于度量统计，格式例如：TP',
      lang_form_new_project_tenant_code: '租户编码(tenantCode)',
      lang_form_new_project_tenant_code_tip_1: '设置该项目属于某个租户，租户管理员将有该项目的管理权限',
      lang_form_new_project_project_arch: '项目应用cpu架构(projectArch)*',
      lang_form_new_project_project_arch_tip_1: '项目应用的构建、打包以及运行环境的cpu架构',
      lang_form_new_project_git_repo_type: '代码仓库连接方式(gitRepoType)*',
      lang_form_new_project_git_repo_type_internal_create: '在已接管的代码仓库中创建演示项目代码(推荐)',
      lang_form_new_project_git_repo_type_internal_create_tip_1: '自动在已接管的代码仓库中创建演示项目代码，自动创建默认分支以及流水线触发webhook',
      lang_form_new_project_git_repo_type_internal_exist: '项目代码已经在已接管的代码仓库中',
      lang_form_new_project_git_repo_type_internal_exist_tip_1: '项目代码已经在已接管的代码仓库中，自动创建默认分支以及流水线触发webhook',
      lang_form_new_project_git_repo_type_github_create: '在Github.com中创建演示项目代码',
      lang_form_new_project_git_repo_type_github_create_tip_1: '自动在Github.com中创建演示项目代码，自动创建默认分支以及流水线触发webhook(DORY能够访问Github.com，并且DORY服务需要能够在互联网上被访问)',
      lang_form_new_project_git_repo_type_github_exist: '项目代码已经在Github.com中',
      lang_form_new_project_git_repo_type_github_exist_tip_1: '项目代码已经在Github.com中，自动创建默认分支以及流水线触发webhook(DORY能够访问Github.com，并且DORY服务需要能够在互联网上被访问)',
      lang_form_new_project_git_repo_type_gitee_create: '在Gitee.com中创建演示项目代码',
      lang_form_new_project_git_repo_type_gitee_create_tip_1: '自动在Gitee.com中创建演示项目代码，自动创建默认分支以及流水线触发webhook(DORY能够访问Gitee.com，并且DORY服务需要能够在互联网上被访问)',
      lang_form_new_project_git_repo_type_gitee_exist: '项目代码已经在Gitee.com中',
      lang_form_new_project_git_repo_type_gitee_exist_tip_1: '项目代码已经在Gitee.com中，自动创建默认分支以及流水线触发webhook(DORY能够访问Gitee.com，并且DORY服务需要能够在互联网上被访问)',
      lang_form_new_project_git_repo_type_external_exist: '项目代码已经在其他Git仓库中',
      lang_form_new_project_git_repo_type_external_exist_tip_1: '项目代码已经在其他Git仓库中，自动创建默认分支，不支持自动配置流水线触发webhook',
      lang_form_new_project_git_repo_dir_build_settings_dir: '构建依赖拉取配置目录(buildSettingsDir)*',
      lang_form_new_project_git_repo_dir_database_scripts_dir: '数据库脚本目录(databaseScriptsDir)*',
      lang_form_new_project_git_repo_dir_demo_codes_dir: '演示代码目录(demoCodesDir)*',
      lang_form_new_project_git_repo_dir_deploy_scripts_dir: '主机部署脚本目录(deployScriptsDir)*',
      lang_form_new_project_git_repo_dir_documents_dir: '演示文档目录(documentsDir)*',
      lang_form_new_project_git_repo_dir_test_scripts_dir: '自动化测试脚本目录(testScriptsDir)*',
      lang_form_new_project_git_repo_name: '代码仓库(gitRepoName)*',
      lang_form_new_project_git_repo_name_tip_1: '请选择在哪个代码仓库自动开通项目配置，一旦开通不能修改，目前支持gitlab、gitea两种代码仓库',
      lang_form_new_project_git_repo_path: '项目代码相对路径(gitRepoPath)*',
      lang_form_new_project_git_repo_path_tip_1: '项目代码在代码仓库中的相对路径，例如: project_group/project_name，一旦开通不能修改',
      lang_form_new_project_git_repo_url: '项目代码仓库完整路径(gitRepoUrl)*',
      lang_form_new_project_git_repo_url_tip_1: '例如: https://example.com/project_group/project_name.git，一旦开通不能修改',
      lang_form_new_project_git_repo_source_branch: '来源分支名称(gitRepoSourceBranch)*',
      lang_form_new_project_git_repo_source_branch_tip_1: '将会自动创建流水线默认分支，流水线默认分支来源于当前代码仓库哪条已经存在的分支，一旦开通不能修改',
      lang_form_new_project_git_repo_user: '连接代码仓库的用户(gitRepoUser)',
      lang_form_new_project_git_repo_user_tip_1: '连接代码仓库的用户',
      lang_form_new_project_git_repo_token: '连接代码仓库API的accessToken(gitRepoToken)',
      lang_form_new_project_git_repo_token_tip_1: '访问代码仓库API接口的accessToken',
      lang_form_new_project_git_repo_password: '连接代码仓库的用户密码(gitRepoPassword)',
      lang_form_new_project_git_repo_password_tip_1: '连接代码仓库的用户密码',
      lang_form_new_project_enable_artifact_repo_proxy: '是否启用依赖拉取代理功能(enableArtifactRepoProxy)*',
      lang_form_new_project_enable_artifact_repo_proxy_tip_1: '开通项目并自动创建演示项目代码的时候，源代码自动设置好依赖拉取配置，启用依赖与制品仓库作为代码构建过程中的依赖拉取代理',
      lang_form_new_project_create_demo_on_exist_git_repo: '是否在已有的代码仓库中创建演示项目代码(createDemoOnExistGitRepo)*',
      lang_form_new_project_create_demo_on_exist_git_repo_tip_1: '在已有的代码仓库中创建演示项目的代码，同时也会自动创建演示项目的所有配置，建议勾选',
      lang_form_new_project_privileged: '是否启用特权模式(privileged)*',
      lang_form_new_project_privileged_tip_1: '启用特权模式后，用户可以在容器部署定义中设置额外的容器部署参数，同时SSH调试容器中也支持docker服务(注意，启用特权模式，能通过特权模式获取kubernetes环境节点的管理员权限，请谨慎启用)',
      lang_form_new_project_image_repo_name: '镜像仓库(imageRepoName)*',
      lang_form_new_project_image_repo_name_tip_1: '请选择项目的容器镜像要推送到哪个镜像仓库，对于内部的harbor镜像仓库，会自动创建项目的仓库配置，一旦开通不能修改',
      lang_form_new_project_image_repo_name_use_external_image_repo: '使用外部镜像仓库',
      lang_form_new_project_image_repo_host_name: '镜像仓库主机名(imageRepoHostName)',
      lang_form_new_project_image_repo_host_name_tip_1: '外部镜像仓库的主机名，格式例如: docker.io 或者 your-host-name:5000',
      lang_form_new_project_image_repo_group_name: '镜像仓库组名(imageRepoGroupName)',
      lang_form_new_project_image_repo_group_name_tip_1: '镜像推送到镜像仓库的哪个组，假如使用docker.io，组名为doryengine，那么镜像会推送到docker.io/doryengine这个组下边，格式例如: group_name',
      lang_form_new_project_image_repo_user_name: '镜像仓库用户名(imageRepoUserName)',
      lang_form_new_project_image_repo_user_name_tip_1: '请保证该用户有镜像推送权限',
      lang_form_new_project_image_repo_password: '镜像仓库密码(imageRepoPassword)',
      lang_form_new_project_image_repo_password_tip_1: '请保证该用户有镜像推送权限',
      lang_form_new_project_artifact_repo_type: '制品仓库连接方式(artifactRepoType)*',
      lang_form_new_project_artifact_repo_type_artifact_repo: '制品上传到已接管的制品仓库中(推荐)',
      lang_form_new_project_artifact_repo_type_internal: '制品保存到 DORY 内置的制品仓库中',
      lang_form_new_project_artifact_repo_type_http: '制品通过http方式上传到外部制品仓库中',
      lang_form_new_project_artifact_repo_type_ftp: '制品通过ftp方式上传到ftp服务器上',
      lang_form_new_project_artifact_repo_type_sftp: '制品通过sftp方式上传到sftp服务器上',
      lang_form_new_project_artifact_repo_name: '制品仓库(artifactRepoName)*',
      lang_form_new_project_artifact_repo_name_tip_1: '请选择在哪个制品仓库自动开通项目配置，一旦开通不能修改，目前支持nexus制品仓库',
      lang_form_new_project_artifact_repo_host_name: '制品仓库的主机名(artifactRepoHostName)',
      lang_form_new_project_artifact_repo_host_name_tip_1: '可以IP地址或者域名，例如: 192.168.0.1 / example.com',
      lang_form_new_project_artifact_repo_port: '制品仓库的端口(artifactRepoPort)',
      lang_form_new_project_artifact_repo_path: '制品仓库的路径(artifactRepoPath)',
      lang_form_new_project_artifact_repo_path_tip_1: '必须以/开头，例如: /tmp',
      lang_form_new_project_artifact_repo_user_name: '制品仓库的连接用户名(artifactRepoUserName)',
      lang_form_new_project_artifact_repo_password: '制品仓库的密码(artifactRepoPassword)',
      lang_form_new_project_artifact_repo_http_url_tip_1: 'url支持制品名称变量artifactName，例如: http://example.com/upload/<< $.artifactName >>，<<和>>请替换为双花括号',
      lang_form_new_project_artifact_repo_http_upload_url: 'http上传制品URL(artifactRepoHttpUpload.url)',
      lang_form_new_project_artifact_repo_http_upload_method: 'http上传制品method(artifactRepoHttpUpload.method)',
      lang_form_new_project_artifact_repo_http_upload_insecure: '是否启用insecure连接(artifactRepoHttpUpload.insecure)',
      lang_form_new_project_artifact_repo_http_download_url: 'http下载制品URL(artifactRepoHttpDownload.url)',
      lang_form_new_project_artifact_repo_http_download_insecure: '是否启用insecure连接(artifactRepoHttpDownload.insecure)',
      lang_form_new_project_scan_code_repo_name: '代码扫描仓库(scanCodeRepoName)',
      lang_form_new_project_scan_code_repo_name_tip_1: '请选择在哪个代码扫描仓库自动开通项目配置，一旦开通不能修改，目前支持sonarqube代码扫描仓库。如果不选择表示不启用代码扫描功能',
      lang_form_new_project_env_name: '环境(envName)*',
      lang_form_new_project_env_name_tip_1: '请选择项目开通的默认流水线要发布到哪个kubernetes环境',
      lang_form_new_project_default_pv: '默认持久化卷(defaultPv)*',
      lang_form_new_project_default_pv_tip_1: '选择项目的所有应用默认挂装的持久化卷PV。选择自动分配则使用kubernetes环境的pvSettings设置，自动分配一个PV作为项目的默认持久化卷',
      lang_form_new_project_default_pv_auto_alloc: '自动分配',
      lang_form_update_project_leave_it_empty: ' (为空表示不修改)',
      lang_form_new_user: '开通新用户账号',
      lang_form_new_user_prompt: '开通新用户账号，在openldap账号中心中创建账号',
      lang_form_new_user_username: '用户名(username)*',
      lang_form_new_user_username_tip_1: '用户的登录账号名字，务必正确填写，创建后不能修改。格式例如：test-user01 或者 xx1-xx2-user01',
      lang_form_new_user_name: '显示名(name)*',
      lang_form_new_user_name_tip_1: '格式例如：测试-用户01 或者 XX1-XX2-USER01',
      lang_form_new_user_mail: '邮箱(mail)*',
      lang_form_new_user_mail_tip_1: '用于登录或者接收密码重置邮件',
      lang_form_new_user_mobile: '手机号码(mobile)*',
      lang_form_new_user_mobile_tip_1: '格式例如：13812341234',
      lang_form_new_project_node_ports: '分配新NodePort',
      lang_form_new_project_node_ports_prompt: '为项目分配新NodePort端口段，项目后续可以使用新的NodePort端口段发布服务',
      lang_form_new_project_node_ports_tip_1: '确认要为项目 {0} {1} 环境分配新NodePort端口段吗？',
      lang_form_delete_project_node_ports: '回收NodePort端口段',
      lang_form_delete_project_node_ports_prompt: '回收NodePort后，项目将不能再使用该NodePort端口段发布服务',
      lang_form_delete_project_node_ports_tip_1: '确认要回收 {0} {1} 环境NodePort端口段 {2} 吗？',
      lang_form_delete_project_envs_select: '选择回收项目可用环境方式*',
      lang_form_delete_project_envs: '回收项目可用环境',
      lang_form_delete_project_envs_prompt: '回收项目可用环境后，项目将不能再把应用发布到本环境',
      lang_form_delete_project_envs_tip_1: '确认要回收项目 {0} 环境 {1} 吗？',
      lang_form_delete_project_envs_all: '回收项目可用环境并清理名字空间',
      lang_form_delete_project_envs_all_prompt: '回收项目可用环境并清理名字空间后，项目将不能再把应用发布到本环境，并且环境中该项目应用将会被清理',
      lang_form_delete_project_envs_all_tip_1: '确认要回收项目 {0} 环境 {1} 并清理名字空间吗？',
      lang_form_new_project_envs: '分配新环境',
      lang_form_new_project_envs_prompt: '增加新环境后，会自动在该kubernetes环境中为项目开通名字空间，项目的流水线就可以选择该环境作为测试环境或者生产环境，把应用发布到该环境',
      lang_form_new_project_envs_tip_1: '确认要为项目 {0} 分配新环境吗？',
      lang_form_new_project_envs_env_names: '选择要分配的新环境(envNames)*',
      lang_form_update_project: '修改项目信息',
      lang_form_dangerous_operation: '危险操作',
      lang_form_delete_project: '删除项目',
      lang_form_delete_project_prompt: '删除项目将会删除项目的所有配置信息，删除项目后所有项目流水线记录都将全部清除。',
      lang_form_delete_project_tip_1: '确认要删除项目 {0} 吗？',
      lang_form_delete_project_git_repo_delete: '是否删除项目代码仓库(gitRepoDelete)',
      lang_form_delete_project_scan_code_repo_delete: '是否删除项目代码扫描仓库(scanCodeRepoDelete)',
      lang_form_delete_project_image_repo_delete: '是否删除项目镜像仓库(imageRepoDelete)',
      lang_form_delete_project_artifact_repo_delete: '是否删除项目依赖与制品仓库(artifactRepoDelete)',
      lang_form_delete_project_namespace_delete: '是否删除项目kubernetes名字空间(namespaceDelete)',
      lang_form_refresh_all_token: '更新所有token',
      lang_form_refresh_all_token_prompt: '更新所有token，将会更新项目的harbor密码、nexus密码、sonarqube密码、sonarqube token以及所有kubernetes环境的dashboard登录token',
      lang_form_refresh_all_token_tip_1: ' 确认要更新项目 {0} 的所有token吗？ ',
      lang_form_refresh_all_token_harbor_password: '镜像仓库密码(harborPassword)',
      lang_form_refresh_all_token_nexus_password: '依赖与制品仓库密码(nexusPassword)',
      lang_form_refresh_all_token_sonar_password: '代码扫描仓库密码(sonarPassword)',
      lang_form_refresh_all_token_password_tip_1: '为空表示使用随机密码，密码长度不能小于8位，必须包含大小写英文数字和特殊字符',
      lang_form_re_apply_kubernetes: '重新应用项目配置到所有可用的kubernetes环境',
      lang_form_re_apply_kubernetes_prompt: '假如kubernetes中开通项目的时候创建的资源被误操作删除或者修改，可以通过重新应用的方式自动重新创建这些kubernetes资源',
      lang_form_re_apply_kubernetes_tip_1: ' 确认要重新应用项目 {0} 配置到所有可用的kubernetes环境吗？ ',
      lang_form_assign_permissions: '分配项目权限',
      lang_form_assign_permissions_prompt: '给用户 {0} 分配项目权限',
      lang_form_assign_permissions_access_level: '用户角色(accessLevel)*',
      lang_form_assign_permissions_access_level_tip_1: 'runner: 可以执行流水线',
      lang_form_assign_permissions_access_level_tip_2: 'developer: 可以执行流水线，可以设置项目定义',
      lang_form_assign_permissions_access_level_tip_3: 'maintainer: 可以执行流水线，可以设置项目定义，可以通过项目控制台对项目进行设置',
      lang_form_change_permissions: '修改项目权限',
      lang_form_change_permissions_prompt: '变更用户 {0} 的 {1} 项目权限',
      lang_form_delete_permissions: '移除项目权限',
      lang_form_delete_permissions_prompt: '移除用户 {0} 的 {1} 项目权限',
      lang_form_new_pipeline: '新增流水线',
      lang_form_new_pipeline_prompt: '为项目 {0} 新增流水线，将会自动在git代码仓库中创建对应的版本分支，该版本分支的应用模块将会发布到该流水线设置的测试环境以及生产环境中',
      lang_form_new_pipeline_branch_name: '分支名称(branchName)*',
      lang_form_new_pipeline_branch_name_tip_1: '流水线对应的git代码仓库的分支，从来源分支创建新分支，小写英文数字或者下划线，格式例如：release 或者 release_01',
      lang_form_new_pipeline_source_branch: '来源分支名称(sourceBranch)*',
      lang_form_new_pipeline_source_branch_tip_1: '从来源分支创建新分支',
      lang_form_new_pipeline_envs: '测试环境(envs)*',
      lang_form_new_pipeline_envs_tip_1: '选择流水线要发布的测试环境，测试环境可以进行自动化测试。多个测试环境情况下，按顺序进行串行发布',
      lang_form_new_pipeline_env_productions: '生产环境(envProductions)',
      lang_form_new_pipeline_env_productions_tip_1: '选择流水线要发布的生产环境，生产环境为生产发布用途，不可以进行自动化测试。多个生产环境情况下，按顺序进行串行发布',
      lang_form_new_pipeline_webhook_push_event: '启用git push触发流水线(webhookPushEvent)*',
      lang_form_new_pipeline_webhook_push_event_tip_1: '当有代码push到git代码仓库的时候触发该流水线',
      lang_form_delete_pipeline: '删除流水线',
      lang_form_delete_pipeline_prompt: '删除流水线将会清除该流水线所有执行记录',
      lang_form_delete_pipeline_branch_name: '分支名称(branchName)*',
      lang_form_delete_pipeline_branch_name_tip_1: '确认要删除 {0} 分支流水线吗？',
      lang_form_assign_pipeline_envs: '为流水线分配环境',
      lang_form_assign_pipeline_envs_prompt: '设置 {0} 流水线可以发布应用到该环境',
      lang_form_assign_pipeline_envs_env_name: '选择环境(envName)*',
      lang_form_assign_pipeline_envs_env_name_tip_1: '选择流水线可以发布应用到哪个环境',
      lang_form_assign_pipeline_envs_is_production_env: '分配环境类型(isProductionEnv)*',
      lang_form_assign_pipeline_envs_is_production_env_tip_1: '选择新环境在流水线中属于哪种环境类型',
      lang_form_update_pipeline_token: '更新流水线token',
      lang_form_update_pipeline_token_prompt: '流水线token用于代码仓库的push事件自动触发，更新流水线token也会自动更新代码仓库的webhook',
      lang_form_update_pipeline_token_tip_1: '确认要更新 {0} 分支流水线的token吗？ ',
      lang_form_delete_pipeline_envs: '把环境从流水线移除',
      lang_form_delete_pipeline_envs_prompt: '移除环境配置后，该流水线无法发布应用到该环境',
      lang_form_delete_pipeline_envs_tip_1: '确认要把 {0} 环境从 {1} 流水线移除配置吗？ ',
      lang_form_add_pipeline_crontab: '为流水线新增计划任务',
      lang_form_add_pipeline_crontab_prompt: '按照计划任务设置，定期执行 {0} 流水线',
      lang_form_add_pipeline_crontab_crontab_week: '计划执行星期(crontabWeek)*',
      lang_form_add_pipeline_crontab_crontab_week_tip_1: '每周星期几执行计划任务',
      lang_form_add_pipeline_crontab_crontab_week_unlimited: '不限星期几',
      lang_form_add_pipeline_crontab_crontab_week_0: '周日',
      lang_form_add_pipeline_crontab_crontab_week_1: '周一',
      lang_form_add_pipeline_crontab_crontab_week_2: '周二',
      lang_form_add_pipeline_crontab_crontab_week_3: '周三',
      lang_form_add_pipeline_crontab_crontab_week_4: '周四',
      lang_form_add_pipeline_crontab_crontab_week_5: '周五',
      lang_form_add_pipeline_crontab_crontab_week_6: '周六',
      lang_form_add_pipeline_crontab_crontab_month: '计划执行月份(crontabMonth)*',
      lang_form_add_pipeline_crontab_crontab_month_tip_1: '每年的几月份执行计划任务',
      lang_form_add_pipeline_crontab_crontab_month_unlimited: '不限几月份',
      lang_form_add_pipeline_crontab_crontab_month_1: '1月',
      lang_form_add_pipeline_crontab_crontab_month_2: '2月',
      lang_form_add_pipeline_crontab_crontab_month_3: '3月',
      lang_form_add_pipeline_crontab_crontab_month_4: '4月',
      lang_form_add_pipeline_crontab_crontab_month_5: '5月',
      lang_form_add_pipeline_crontab_crontab_month_6: '6月',
      lang_form_add_pipeline_crontab_crontab_month_7: '7月',
      lang_form_add_pipeline_crontab_crontab_month_8: '8月',
      lang_form_add_pipeline_crontab_crontab_month_9: '9月',
      lang_form_add_pipeline_crontab_crontab_month_10: '10月',
      lang_form_add_pipeline_crontab_crontab_month_11: '11月',
      lang_form_add_pipeline_crontab_crontab_month_12: '12月',
      lang_form_add_pipeline_crontab_crontab_day: '计划执行日期(crontabDay)*',
      lang_form_add_pipeline_crontab_crontab_day_tip_1: '每月的几日执行计划任务',
      lang_form_add_pipeline_crontab_crontab_day_unlimited: '不限几日',
      lang_form_add_pipeline_crontab_crontab_hour: '计划执行小时(crontabHour)*',
      lang_form_add_pipeline_crontab_crontab_hour_tip_1: '每天的几点执行计划任务',
      lang_form_add_pipeline_crontab_crontab_hour_unlimited: '不限几点',
      lang_form_add_pipeline_crontab_crontab_minute: '计划执行分钟(crontabMinute)*',
      lang_form_add_pipeline_crontab_crontab_minute_tip_1: '每小时的几分执行计划任务',
      lang_form_add_pipeline_crontab_crontab_minute_unlimited: '不限几分',
      lang_form_delete_pipeline_crontab: '删除流水线计划任务',
      lang_form_delete_pipeline_crontab_prompt: '删除流水线计划任务后，流水线将不会定期自动执行',
      lang_form_delete_pipeline_crontab_tip_1: '确认要删除流水线 {0} 计划任务 {1} 吗？',
      lang_form_add_pipeline_trigger: '新增流水线触发器',
      lang_form_add_pipeline_trigger_pipeline_variables_desc: '流水线变量说明',
      lang_form_add_pipeline_trigger_prompt: '在流水线执行特定步骤前或者执行特定步骤后，将会触发该触发器。触发器支持三种触发方式：支持通过webhook调用外部系统接口，支持发送邮件，支持通过内部通知形式通知特定用户。对于执行特定步骤前调用触发器情况下，流水线变量不包含步骤执行状态信息(status)和步骤详情(stepDetail)。对于执行特定步骤后调用触发器情况下，流水线变量包含步骤执行状态信息(status)和步骤详情(stepDetail)。',
      lang_form_add_pipeline_trigger_before_execute: '是否执行前触发(beforeExecute)*',
      lang_form_add_pipeline_trigger_before_execute_tip_1: '是否在执行该步骤前，执行该触发器。对于执行特定步骤前调用触发器情况下，流水线变量不包含步骤执行状态信息(status)和步骤详情(stepDetail)',
      lang_form_add_pipeline_trigger_step_action: '触发方式(stepAction)*',
      lang_form_add_pipeline_trigger_step_action_tip_1: '在执行特定步骤前或者执行特定步骤后，会执行该触发器',
      lang_form_add_pipeline_trigger_status_results: '触发状态(statusResults)*',
      lang_form_add_pipeline_trigger_status_results_tip_1: '当步骤执行结果为以上状态的情况下，会执行该触发器',
      lang_form_add_pipeline_trigger_status_results_success: '执行成功',
      lang_form_add_pipeline_trigger_status_results_fail: '执行失败',
      lang_form_add_pipeline_trigger_enable: '是否激活(enable)*',
      lang_form_add_pipeline_trigger_enable_tip_1: '非激活状态下，触发器不会执行',
      lang_form_add_pipeline_trigger_check_var_to_ignore: '通过流水线变量忽略触发器执行(checkVarToIgnore)',
      lang_form_add_pipeline_trigger_check_var_to_ignore_tip_1: '该触发器激活的情况才有效',
      lang_form_add_pipeline_trigger_check_var_to_ignore_tip_2: '支持流水线变量，当流水线变量的go template模板解析结果为`true`，则不执行本触发器',
      lang_form_add_pipeline_trigger_check_var_to_ignore_tip_3: '为空表示不忽略触发器执行',
      lang_form_add_pipeline_trigger_check_var_to_ignore_tip_4: '例如: << if eq (where . `previousSteps.#(stepAction=="scanImage")(moduleName=="tp1-gin-demo").result` `string`) "FAIL" >>true<< end >>，<<和>>请替换为双花括号',
      lang_form_add_pipeline_trigger_webhook_url: 'webhook请求URL(webhookUrl)',
      lang_form_add_pipeline_trigger_webhook_url_tip_1: '支持使用流水线变量',
      lang_form_add_pipeline_trigger_insecure: '是否开启insecure模式(insecure)',
      lang_form_add_pipeline_trigger_insecure_tip_1: '是否开启insecure模式，假如服务端为https，并且使用自签名的tls证书，那么请设置本选项为true',
      lang_form_add_pipeline_trigger_webhook_method: 'webhook请求方法(webhookMethod)',
      lang_form_add_pipeline_trigger_webhook_method_tip_1: 'webhook的http请求方法，设置webhook请求URL情况下必须设置',
      lang_form_add_pipeline_trigger_webhook_headers: 'webhook请求headers(webhookHeaders)',
      lang_form_add_pipeline_trigger_webhook_headers_tip_1: 'webhook的http请求header信息，支持使用流水线变量',
      lang_form_add_pipeline_trigger_webhook_headers_name: 'header名称*',
      lang_form_add_pipeline_trigger_webhook_headers_value: 'header值*',
      lang_form_add_pipeline_trigger_webhook_query_params: 'webhook请求URL参数(webhookQueryParams)',
      lang_form_add_pipeline_trigger_webhook_query_params_tip_1: 'webhook的http请求URL上的参数，支持使用流水线变量',
      lang_form_add_pipeline_trigger_webhook_query_params_name: 'URL参数名称*',
      lang_form_add_pipeline_trigger_webhook_query_params_value: 'URL参数值*',
      lang_form_add_pipeline_trigger_webhook_forms: 'webhook请求表单(webhookForms)',
      lang_form_add_pipeline_trigger_webhook_forms_tip_1: 'webhook的请求表单参数，支持使用流水线变量',
      lang_form_add_pipeline_trigger_webhook_forms_name: '表单名称*',
      lang_form_add_pipeline_trigger_webhook_forms_value: '表单值*',
      lang_form_add_pipeline_trigger_webhook_body: 'webhook请求体内容(webhookBody)',
      lang_form_add_pipeline_trigger_webhook_body_tip_1: 'webhook的http请求BODY内容，支持使用流水线变量',
      lang_form_add_pipeline_trigger_mail_committees: '是否邮件通知所有代码提交者(mailCommittees)*',
      lang_form_add_pipeline_trigger_mail_committees_tip_1: '假如本次流水线执行有代码更新，那么邮件通知所有代码提交者',
      lang_form_add_pipeline_trigger_mail_receivers: '通知邮件接收邮箱(mailReceivers)',
      lang_form_add_pipeline_trigger_mail_receivers_tip_1: '假如本次流水线执行有代码更新，那么邮件通知以上邮箱',
      lang_form_add_pipeline_trigger_mail_title: '通知邮件标题(mailTitle)',
      lang_form_add_pipeline_trigger_mail_title_tip_1: '支持使用流水线变量',
      lang_form_add_pipeline_trigger_mail_attachment_format: '通知邮件附件格式(mailAttachmentFormat)',
      lang_form_add_pipeline_trigger_mail_attachment_format_tip_1: '通知邮件包含两个附件，步骤的执行日志附件以及流水线变量附件，其中流水线变量附件以YAML格式还是JSON格式作为附件',
      lang_form_add_pipeline_trigger_mail_content: '通知邮件内容(mailContent)',
      lang_form_add_pipeline_trigger_mail_content_tip_1: '支持使用流水线变量',
      lang_form_add_pipeline_trigger_notice_committees: '是否通知所有代码提交者(noticeCommittees)*',
      lang_form_add_pipeline_trigger_notice_committees_tip_1: '假如本次流水线执行有代码更新，那么通知所有代码提交者',
      lang_form_add_pipeline_trigger_notice_usernames: '通知通知用户(noticeUsernames)',
      lang_form_add_pipeline_trigger_notice_usernames_tip_1: '假如本次流水线执行有代码更新，那么通知以上用户',
      lang_form_update_pipeline_trigger: '修改触发器',
      lang_form_delete_pipeline_trigger: '删除触发器',
      lang_form_delete_pipeline_trigger_prompt: '删除触发器后对应步骤执行结束将不会再调用该触发器',
      lang_form_delete_pipeline_trigger_tip_1: '确认要删除 {0} 流水线的 {1} 触发器吗？',
      lang_form_update_resource_quota: '调整kubernetes环境资源配额',
      lang_form_update_resource_quota_prompt: '调整 {0} {1} 环境的资源配额',
      lang_form_update_resource_quota_namespace_quota: '项目总资源配额(namespaceQuota)*',
      lang_form_update_resource_quota_namespace_quota_tip_1: '整个项目名字空间下所有容器总共可以使用的资源配额总和，超过该资源配额设置容器将无法启动',
      lang_form_update_resource_quota_namespace_quota_memory_request: '请求memory资源总和(memoryRequest)*',
      lang_form_update_resource_quota_namespace_quota_memory_request_tip_1: 'Ti、Gi、Mi、Ki分别表示T、G、M、K的内存。格式例如：10Ti、10Gi、10Mi、10Ki',
      lang_form_update_resource_quota_namespace_quota_memory_limit: '最大memory配额总和(memoryLimit)*',
      lang_form_update_resource_quota_namespace_quota_memory_limit_tip_1: 'Ti、Gi、Mi、Ki分别表示T、G、M、K的内存。格式例如：10Ti、10Gi、10Mi、10Ki',
      lang_form_update_resource_quota_namespace_quota_cpu_request: '请求cpu资源总和(cpuRequest)*',
      lang_form_update_resource_quota_namespace_quota_cpu_request_tip_1: '1表示一个vCPU，0.1 或者 100m表示0.1个vCPU。格式例如：1、0.1、100m',
      lang_form_update_resource_quota_namespace_quota_cpu_limit: '最大cpu配额总和(cpuLimit)*',
      lang_form_update_resource_quota_namespace_quota_cpu_limit_tip_1: '1表示一个vCPU，0.1 或者 100m表示0.1个vCPU。格式例如：1、0.1、100m',
      lang_form_update_resource_quota_namespace_quota_pods_limit: 'pods数量配额总和(podsLimit)*',
      lang_form_update_resource_quota_namespace_quota_pods_limit_tip_1: '最多允许在项目名字空间下运行多少个容器',
      lang_form_update_resource_quota_default_quota: '容器默认资源配额(defaultQuota)*',
      lang_form_update_resource_quota_default_quota_tip_1: '如果容器部署模块没有设置每个容器的资源配额，那么将会使用该设置作为每个容器的默认资源配额设置',
      lang_form_update_resource_quota_default_quota_memory_request: '默认请求memory资源(memoryRequest)*',
      lang_form_update_resource_quota_default_quota_memory_request_tip_1: 'Ti、Gi、Mi、Ki分别表示T、G、M、K的内存。格式例如：10Ti、10Gi、10Mi、10Ki',
      lang_form_update_resource_quota_default_quota_memory_limit: '默认最大memory配额(memoryLimit)*',
      lang_form_update_resource_quota_default_quota_memory_limit_tip_1: 'Ti、Gi、Mi、Ki分别表示T、G、M、K的内存。格式例如：10Ti、10Gi、10Mi、10Ki',
      lang_form_update_resource_quota_default_quota_cpu_request: '默认请求cpu资源(cpuRequest)*',
      lang_form_update_resource_quota_default_quota_cpu_request_tip_1: '1表示一个vCPU，0.1 或者 100m表示0.1个vCPU。格式例如：1、0.1、100m',
      lang_form_update_resource_quota_default_quota_cpu_limit: '默认最大cpu配额(cpuLimit)*',
      lang_form_update_resource_quota_default_quota_cpu_limit_tip_1: '1表示一个vCPU，0.1 或者 100m表示0.1个vCPU。格式例如：1、0.1、100m',
      lang_form_assign_pv: '为环境分配新持久化卷',
      lang_form_assign_pv_prompt: '设置项目 {0} 在 {1} 环境中，可以挂装持久化卷(PV)，分配后自动在该环境下创建对应持久化卷声明(PVC)，后续在模块容器部署定义中即可以挂装该持久化卷',
      lang_form_assign_pv_pv_names: '选择要分配的持久化卷(pvNames)*',
      lang_form_assign_pv_pv_names_tip_1: '支持同时分配多个持久化卷，后续在模块容器部署定义中即可以挂装这些持久化卷',
      lang_form_remove_pv: '回收项目环境持久化卷',
      lang_form_remove_pv_prompt: '回收环境持久化卷将会在项目 {0} {1} 环境删除持久化卷(PV) {2}，并删除对应的持久化卷声明(PVC)，持久化存储中的数据不会删除，后续在模块容器部署定义中将无法挂装该持久化卷',
      lang_form_remove_pv_tip_1: '确认要回收项目 {0} {1} 环境持久化卷 {2} 吗？',
      lang_form_new_network_policy: '为环境创建严格的网络策略',
      lang_form_new_network_policy_prompt: '设置项目 {0} 在 {1} 环境中启用严格的网络策略，让项目名字空间内的微服务只能够被本名字空间下的pod访问，而不能被其他名字空间的pod访问。该策略可能引起跨名字空间的微服务访问异常，请谨慎启用',
      lang_form_delete_network_policy: '删除网络策略',
      lang_form_delete_network_policy_prompt: '将会在项目 {0} {1} 环境删除网络策略 {2}',
      lang_form_delete_network_policy_name: '网络策略名(name)*',
      lang_form_delete_network_policy_name_tip_1: '确认要删除网络策略 {0} 吗？',
      lang_form_delete_network_policy_tip_1: '确认要删除项目 {0} {1} 环境的网络策略 {2} 吗？',
      lang_form_new_host: '为项目环境配置新主机',
      lang_form_new_host_prompt: '分配新主机到 {0} 环境，流水线进行制品部署的时候，可以把制品部署到该主机，一台主机可以分配给多个不同的项目环境',
      lang_form_new_host_host_name: '主机标识(hostName)*',
      lang_form_new_host_host_name_tip_1: '全局唯一的主机标识，不能与其他已经添加的主机标识重复。添加后不可修改，格式例如：test-project1-host01。',
      lang_form_new_host_groups: '主机分组(groups)',
      lang_form_new_host_groups_tip_1: '设置主机所属分组，一台主机支持属于多个分组，进行制品主机部署的时候，可以把制品发布到特定分组的一批主机上。输入分组后请按回车，回车自动创建分组，格式例如：backend_group',
      lang_form_new_host_groups_tip_2: '注意，不同项目环境，可以设置不同的主机分组',
      lang_form_new_host_varialbes: '主机变量(varialbes)',
      lang_form_new_host_varialbes_name: '变量名',
      lang_form_new_host_varialbes_value: '变量值',
      lang_form_new_host_varialbes_tip_1: '设置进行制品发布的时候，该主机所使用的变量，在ansible-playbook中，可以引用该变量，支持多个变量。格式例如：test_var',
      lang_form_new_host_varialbes_tip_2: '注意，不同项目环境，可以设置不同的主机变量',
      lang_form_new_host_host_addr: '主机地址(hostAddr)*',
      lang_form_new_host_host_addr_tip_1: '主机IP地址，格式例如：192.168.0.1',
      lang_form_new_host_host_port: '主机SSH远程连接端口(hostPort)*',
      lang_form_new_host_host_user: '主机SSH远程登录用户名(hostUser)*',
      lang_form_new_host_host_password: '主机SSH远程登录密码(hostPassword)*',
      lang_form_new_host_host_become: 'SSH连接后是否需要切换用户(hostBecome)*',
      lang_form_new_host_host_become_user: '切换用户名(hostBecomeUser)',
      lang_form_new_host_host_become_user_tip_1: '如果SSH登录后需要切换用户，请提供切换用户名',
      lang_form_new_host_host_become_password: '切换用户密码(hostBecomePassword)',
      lang_form_new_host_host_become_password_tip_1: '如果SSH登录后需要切换用户，请提供切换用户密码',
      lang_form_update_host: '修改主机信息',
      lang_form_update_host_prompt: '修改 {0} 主机信息，假如该主机分配给多个不同的项目环境，修改后所有项目环境对应该主机的信息会发生变更',
      lang_form_add_host_to_other_project: '把主机加入到其他项目',
      lang_form_add_host_to_other_project_prompt: '将主机 {0} 加入其他项目环境后，支持不同项目部署应用到该主机上。（注意，如果修改该主机信息，其他项目环境的该主机信息也会发生变更）',
      lang_form_add_host_to_other_project_project_name: '项目名称(projectName)*',
      lang_form_add_host_to_other_project_project_name_tip_1: '请选择哪个项目要把应用部署到该主机上',
      lang_form_add_host_to_other_project_env_name: '环境名称(envName)*',
      lang_form_add_host_to_other_project_env_name_tip_1: '请选择把主机分派到项目的哪个环境',
      lang_form_remove_host_from_env: '从环境移除主机',
      lang_form_remove_host_from_env_prompt: '从项目环境移除主机后，将无法再把项目应用部署到该主机。注意：如果该主机只分配在一个项目环境之下，将会直接删除该主机信息',
      lang_form_remove_host_from_env_tip_1: '确认要从项目 {0} {1} 环境移除主机 {2} 吗？',
      lang_form_remove_host_from_env_host_name: '请输入主机标识(hostName)*',
      lang_form_remove_host_from_env_host_name_tip_1: '确认要把 {0} 从项目环境移除吗？',
      lang_form_delete_host: '彻底删除主机',
      lang_form_delete_host_prompt: '彻底删除主机后，所有项目都无法部署应用到该主机',
      lang_form_delete_host_tip_1: '确认要彻底删除主机 {0} 吗？',
      lang_form_delete_host_host_name: '请输入主机标识(hostName)*',
      lang_form_delete_host_host_name_tip_1: '确认要彻底删除 {0} 主机信息吗？',
      lang_form_new_database: '为环境配置新数据库',
      lang_form_new_database_prompt: '分配新数据库到 {0} {1} 环境，可以通过流水线在该数据库注入或者回滚数据库脚本，一个数据库可以分配给多个不同的项目环境',
      lang_form_new_database_db_name: '数据库标识(dbName)*',
      lang_form_new_database_db_name_tip_1: '全局唯一的数据库标识，不能与其他已经添加的数据库标识重复。添加后不可修改，格式例如：test-project1-db01。',
      lang_form_new_database_db_url: '数据库的JDBC连接URL(dbURL)*',
      lang_form_new_database_db_url_tip_1: '支持不同类型的关系数据库，格式例如：jdbc:mysql://192.168.0.1:3306/testdb',
      lang_form_new_database_db_user: '数据库用户名(dbUser)*',
      lang_form_new_database_db_password: '数据库用户密码(dbPassword)*',
      lang_form_update_database: '修改数据库信息',
      lang_form_update_database_prompt: '修改 {0} 数据库信息，假如该数据库分配给多个不同的项目环境，修改后所有项目环境对应该数据库的信息会发生变更',
      lang_form_update_database_tip_1: '确认要修改 {0} 数据库信息吗？',
      lang_form_add_database_to_other_project: '把数据库加入到其他项目',
      lang_form_add_database_to_other_project_prompt: '将数据库 {0} 加入其他项目环境后，支持不同项目通过流水线在该数据库注入或者回滚数据库脚本。（注意，如果修改该数据库信息，其他项目环境的该数据库信息也会发生变更）',
      lang_form_add_database_to_other_project_project_name: '项目名称(projectName)*',
      lang_form_add_database_to_other_project_project_name_tip_1: '请选择哪个项目要通过流水线在该数据库注入或者回滚数据库脚本',
      lang_form_add_database_to_other_project_env_name: '环境名称(envName)*',
      lang_form_add_database_to_other_project_env_name_tip_1: '请选择把数据库分派到项目的哪个环境',
      lang_form_remove_database_from_env: '从环境移除数据库',
      lang_form_remove_database_from_env_prompt: '从项目环境移除数据库后，将无法通过流水线在该数据库注入或者回滚数据库脚本。注意：如果该数据库只分配在一个项目环境之下，将会直接删除该数据库信息',
      lang_form_remove_database_from_env_tip_1: '确认要从项目 {0} {1} 环境移除数据库 {2} 吗？',
      lang_form_remove_database_from_env_db_name: '请输入数据库标识(dbName)*',
      lang_form_remove_database_from_env_db_name_tip_1: '确认要把 {0} 从项目环境移除吗？',
      lang_form_delete_database: '彻底删除数据库',
      lang_form_delete_database_prompt: '彻底删除数据库后，所有项目都无法通过流水线在该数据库注入或者回滚数据库脚本',
      lang_form_delete_database_tip_1: '确认要彻底删除数据库 {0} 吗？',
      lang_form_delete_database_db_name: '请输入数据库标识(dbName)*',
      lang_form_delete_database_db_name_tip_1: '确认要彻底删除 {0} 数据库信息吗？',
      lang_form_debug_component_prompt: '调试组件的/{0}目录挂装了整个项目的持久化卷。调试组件包含两个容器，ssh-debug（命令行调试组件）和vnc-debug（图形化调试组件），用于在项目的kubernetes名字空间里边进行项目调试用途',
      lang_form_debug_component_debug_quota: '调试组件资源配额(debugQuota)*',
      lang_form_debug_component_ingress: '设置使用域名访问的方式连接vnc调试组件(ingress)',
      lang_form_debug_component_memory_request: '内存请求配额(memoryRequest)*',
      lang_form_debug_component_memory_request_tip_1: '容器预占的内存（100Mi表示100M内存，1Gi表示1G内存）',
      lang_form_debug_component_memory_limit: '内存最大配额(memoryLimit)*',
      lang_form_debug_component_memory_limit_tip_1: '容器可以分配的最大内存资源（200Mi表示200M内存，1Gi表示1G内存）',
      lang_form_debug_component_cpu_request: 'cpu请求配额(cpuRequest)*',
      lang_form_debug_component_cpu_request_tip_1: '容器预占的cpu（100m表示0.1，表示0.1个CPU）',
      lang_form_debug_component_cpu_limit: 'cpu最大配额(cpuLimit)*',
      lang_form_debug_component_cpu_limit_tip_1: '容器可以分配的最大cpu资源（100m表示0.1，表示0.1个CPU）',
      lang_form_debug_component_ingress_cert_branch: '证书所在代码仓库的分支名称(ingress.certBranch)',
      lang_form_new_debug_component: '为环境新增调试组件',
      lang_form_update_debug_component: '修改调试组件',
      lang_form_delete_debug_component: '删除调试组件',
      lang_form_delete_debug_component_prompt: '在项目的kubernetes环境中，删除ssh-debug（命令行调试组件）和vnc-debug（图形化调试组件）两个调试组件',
      lang_form_delete_debug_component_tip_1: '确认删除项目 {0} {1} 环境的调试组件吗？',
      lang_form_delete_debug_component_env_name: '请输入环境名(envName)*',
      lang_form_delete_debug_component_env_name_tip_1: '确认要把调试组件从项目的 {0} 环境移除吗？',
      lang_form_component_arch: '组件部署的cpu架构(arch)*',
      lang_form_component_prompt: '在项目的kubernetes名字空间中部署中间件组件，例如mysql、redis、nginx等',
      lang_form_component_component_desc: '组件说明(componentDesc)*',
      lang_form_component_component_desc_tip_1: '格式例如：{0}-mysql',
      lang_form_new_component: '为环境新增中间件组件',
      lang_form_new_component_template_name: '请选择组件模板',
      lang_form_new_component_template_default: '默认模板',
      lang_form_update_component: '修改组件',
      lang_form_delete_component: '删除组件',
      lang_form_delete_component_prompt: '在项目 {0} 的 {1} 环境的名字空间删除 {2} 组件',
      lang_form_delete_component_tip_1: '确认要删除项目 {0} {1} 环境中的 {2} 组件吗？',
      lang_form_delete_component_component_name: '请输入组件名(componentName)*',
      lang_form_delete_component_component_name_tip_1: '确认删除 {0} 组件吗？',
      lang_form_apply_log_content: '处理意见(content)*',
      lang_form_new_announcement_title: '公告标题(title)*',
      lang_form_new_announcement_content: '公告内容(content)*',
      lang_form_new_announcement_content_tip_1: '请输入公告内容（支持直接从剪贴板粘贴图片，也支持crtl+C复制图片文件，在输入框crtl+V粘贴图片文件）*',
      lang_form_new_announcement_level: '紧急程度(level)*',
      lang_form_new_announcement_attachments: '公告附件(attachments)',
      lang_form_delete_announcement: '删除公告',
      lang_form_delete_announcement_tip_1: '确认要删除公告 {0} 吗？',
      lang_form_admin_webhook_variables_desc: '管理webhook变量说明',
      lang_form_admin_webhook_prompt: '当执行特定管理操作的时候，触发webhook的执行',
      lang_form_admin_webhook_admin_action: '管理操作类型(adminAction)*',
      lang_form_admin_webhook_admin_action_tip_1: '当执行特定管理操作的时候，会执行该webhook',
      lang_form_admin_webhook_enable: '是否激活(enable)*',
      lang_form_admin_webhook_enable_tip_1: '非激活状态下，webhook不会执行',
      lang_form_admin_webhook_webhook_url: 'webhook请求URL(webhookUrl)*',
      lang_form_admin_webhook_webhook_url_tip_1: '支持使用管理webhook变量',
      lang_form_admin_webhook_insecure: '是否开启insecure模式(insecure)',
      lang_form_admin_webhook_insecure_tip_1: '是否开启insecure模式，假如服务端为https，并且使用自签名的tls证书，那么请设置本选项为true',
      lang_form_admin_webhook_webhook_method: 'webhook请求方法(webhookMethod)*',
      lang_form_admin_webhook_webhook_method_tip_1: 'webhook的http请求方法，设置webhook请求URL情况下必须设置',
      lang_form_admin_webhook_webhook_headers: 'webhook请求headers(webhookHeaders)',
      lang_form_admin_webhook_webhook_headers_tip_1: 'webhook的http请求header信息，支持使用管理webhook变量',
      lang_form_admin_webhook_webhook_headers_name: 'header名称*',
      lang_form_admin_webhook_webhook_headers_value: 'header值*',
      lang_form_admin_webhook_webhook_query_params: 'webhook请求URL参数(webhookQueryParams)',
      lang_form_admin_webhook_webhook_query_params_tip_1: 'webhook的http请求URL上的参数，支持使用管理webhook变量',
      lang_form_admin_webhook_webhook_query_params_name: 'URL参数名称*',
      lang_form_admin_webhook_webhook_query_params_value: 'URL参数值*',
      lang_form_admin_webhook_webhook_forms: 'webhook请求表单(webhookForms)',
      lang_form_admin_webhook_webhook_forms_tip_1: 'webhook的请求表单参数，支持使用管理webhook变量',
      lang_form_admin_webhook_webhook_forms_name: '表单名称*',
      lang_form_admin_webhook_webhook_forms_value: '表单值*',
      lang_form_admin_webhook_webhook_body: 'webhook请求体内容(webhookBody)',
      lang_form_admin_webhook_webhook_body_tip_1: 'webhook的http请求BODY内容，支持使用管理webhook变量',
      lang_form_delete_admin_webhook: '删除管理webhook',
      lang_form_delete_admin_webhook_prompt: '删除管理webhook后执行管理操作后将不会再调用该管理webhook',
      lang_form_delete_admin_webhook_tip_1: '确认要删除管理webhook吗？',
      lang_form_edit_user_profile: '修改 {0} 资料',
      lang_form_edit_user_tenant_admins: '修改 {0} 租户管理员设置',
      lang_form_change_user_password: '修改 {0} 密码',
      lang_form_delete_user: '删除账号 {0}',
      lang_form_delete_user_prompt: '删除用户账号，账号删除后将无法登陆',
      lang_form_delete_user_username: '用户名(username)*',
      lang_form_delete_user_username_tip_1: '确认要删除用户账号 {0} 吗？',
      lang_form_env_k8s_env_name: 'kubernetes环境标识(envName)*',
      lang_form_env_k8s_env_name_tip_1: '格式例如：prod1 或者 prod_zone1',
      lang_form_env_k8s_env_desc: 'kubernetes环境描述(envDesc)*',
      lang_form_env_k8s_env_desc_tip_1: '用于显示在流水线上的环境名称，格式例如：生产环境1',
      lang_form_env_k8s_connection_settings: 'kubernetes连接参数设置(connectionSettings)*',
      lang_form_env_k8s_connection_settings_host: 'apiserver地址(host)*',
      lang_form_env_k8s_connection_settings_host_tip_1: 'kubernetes环境的apiserver地址',
      lang_form_env_k8s_connection_settings_view_host: '外部访问地址(viewHost)*',
      lang_form_env_k8s_connection_settings_view_host_tip_1: 'kubernetes环境的外部访问地址',
      lang_form_env_k8s_connection_settings_port: 'apiserver端口(port)*',
      lang_form_env_k8s_connection_settings_port_tip_1: 'kubernetes环境的apiserver端口',
      lang_form_env_k8s_connection_settings_token: 'apiserver的token(token)*',
      lang_form_env_k8s_connection_settings_token_tip_1: 'kubernetes环境的apiserver的token',
      lang_form_env_k8s_connection_settings_ca_crt_base64: 'apiserver的ca证书的base64编码字符串(caCrtBase64)*',
      lang_form_env_k8s_connection_settings_ca_crt_base64_tip_1: 'kubernetes环境的apiserver的ca证书的base64编码字符串',
      lang_form_env_k8s_connection_settings_dashboard_url: 'kubernetes环境的dashboard的链接(dashboardUrl)*',
      lang_form_env_k8s_connection_settings_dashboard_url_tip_1: 'kubernetes环境的dashboard的链接，支持projectNamespace变量',
      lang_form_env_k8s_connection_settings_dashboard_url_network_policy: 'kubernetes环境的dashboard的网络策略管理链接(dashboardUrlNetworkPolicy)*',
      lang_form_env_k8s_connection_settings_dashboard_url_network_policy_tip_1: 'kubernetes环境的dashboard的网络策略管理链接，支持projectNamespace变量',
      lang_form_env_k8s_connection_settings_istio_namespace: 'kubernetes环境的istio服务网格部署的名字空间(istioNamespace)*',
      lang_form_env_k8s_connection_settings_ingress_controller_namespace: 'kubernetes环境的ingress controller部署的名字空间(ingressControllerNamespace)*',
      lang_form_env_k8s_connection_settings_timezone: 'kubernetes环境的时区(timezone)*',
      lang_form_env_k8s_node_port_range: 'kubernetes环境可以为项目分配的nodePort可用端口范围(nodePortRange)*',
      lang_form_env_k8s_node_port_range_start: '可用nodePort开始端口(nodePortRangeStart)*',
      lang_form_env_k8s_node_port_range_end: '可用nodePort结束端口(nodePortRangeEnd)*',
      lang_form_env_k8s_connection_settings_arch_settings: 'kubernetes环境的架构设置(archSettings)*',
      lang_form_env_k8s_connection_settings_arch_settings_arch: 'cpu架构(arch)*',
      lang_form_env_k8s_connection_settings_arch_settings_node_selector: '应用部署的节点选择器(nodeSelector)',
      lang_form_env_k8s_connection_settings_arch_settings_node_selector_tip_1: '用于设置该种cpu架构下的应用，会选择该环境下哪些节点进行部署，如果不填写表示不限制应用部署节点',
      lang_form_env_k8s_connection_settings_arch_settings_node_selector_label_name: '标签名(labelName)*',
      lang_form_env_k8s_connection_settings_arch_settings_node_selector_label_value: '标签值(labelValue)*',
      lang_form_env_k8s_project_data_pod: '项目存储连接容器设置(projectDataPod)*',
      lang_form_env_k8s_project_data_pod_tip_1: '项目存储挂装容器可以访问默认持久化卷的根目录，在项目初始化的时候，通过该容器向项目名字空间的持久化存储写入文件',
      lang_form_env_k8s_project_data_pod_namespace: '存储连接容器所在名字空间(namespace)*',
      lang_form_env_k8s_project_data_pod_stateful_set_name: '存储连接容器的statefulset名字(statefulSetName)*',
      lang_form_env_k8s_project_data_pod_path: '项目共享目录的根路径(path)*',
      lang_form_env_k8s_project_data_pod_path_tip_1: '该路径挂装了所有项目名字空间的共享存储的根路径',
      lang_form_env_k8s_pod_image_settings: 'pod镜像设置(podImageSettings)*',
      lang_form_env_k8s_pod_image_settings_project_data_pod_image: 'project-data-pod的镜像路径(projectDataPodImage)*',
      lang_form_env_k8s_pod_image_settings_busybox_image: 'busybox的镜像路径(busyboxImage)*',
      lang_form_env_k8s_image_repo_use_external: '是否使用外部主机和IP设置连接镜像仓库(imageRepoUseExternal)',
      lang_form_env_k8s_artifact_repo_use_external: '是否使用外部主机和IP设置连接依赖与制品仓库(artifactRepoUseExternal)',
      lang_form_env_k8s_pv_settings: 'kubernetes环境默认持久化存储设置(pvSettings)*',
      lang_form_env_k8s_pv_settings_pv_config_local: '本地持久化存储设置(pvConfigLocal)',
      lang_form_env_k8s_pv_settings_pv_config_local_tip_1: '假如持久化存储使用本地存储情况下请设置',
      lang_form_env_k8s_pv_settings_pv_config_local_local_path: '本地存储绝对路径(localPath)*',
      lang_form_env_k8s_pv_settings_pv_config_cephfs: 'cephfs持久化存储设置(pvConfigCephfs)',
      lang_form_env_k8s_pv_settings_pv_config_cephfs_tip_1: '假如持久化存储使用cephfs情况下请设置',
      lang_form_env_k8s_pv_settings_pv_config_cephfs_ceph_user: 'cephfs连接账号(cephUser)*',
      lang_form_env_k8s_pv_settings_pv_config_cephfs_ceph_secret: 'cephfs连接秘钥(cephSecret)*',
      lang_form_env_k8s_pv_settings_pv_config_cephfs_ceph_monitors: 'cephfs所有monitor地址与端口(cephMonitors)*',
      lang_form_env_k8s_pv_settings_pv_config_cephfs_ceph_monitors_tip_1: '请输入所有monitor的地址和端口，每个输入后请按回车，格式例如: 192.168.60.43:6789',
      lang_form_env_k8s_pv_settings_pv_config_cephfs_ceph_path: 'cephfs中的存储路径(cephPath)*',
      lang_form_env_k8s_pv_settings_pv_config_cephfs_ceph_path_tip_1: '必须以/开头的绝对路径',
      lang_form_env_k8s_pv_settings_pv_config_nfs: 'nfs持久化存储设置(pvConfigNfs)',
      lang_form_env_k8s_pv_settings_pv_config_nfs_tip_1: '假如持久化存储使用nfs情况下请设置',
      lang_form_env_k8s_pv_settings_pv_config_nfs_nfs_server: 'nfs服务器地址(nfsServer)*',
      lang_form_env_k8s_pv_settings_pv_config_nfs_nfs_server_tip_1: '格式例如：192.168.0.1',
      lang_form_env_k8s_pv_settings_pv_config_nfs_nfs_path: 'nfs中的存储路径(nfsPath)*',
      lang_form_env_k8s_pv_settings_pv_config_nfs_nfs_path_tip_1: '必须以/开头的绝对路径',
      lang_form_env_k8s_pv_settings_project_node_selector: '应用部署选择器(projectNodeSelector)',
      lang_form_env_k8s_pv_settings_project_node_selector_tip_1: '应用选择部署在什么标签的节点上，如果不填写表示不限制应用部署节点',
      lang_form_env_k8s_pv_settings_project_node_selector_label_name: '标签名(labelName)*',
      lang_form_env_k8s_pv_settings_project_node_selector_label_value: '标签值(labelValue)*',
      lang_form_env_k8s_quota_config: '项目默认资源配额设置(quotaConfig)*',
      lang_form_env_k8s_quota_config_namespace_quota: '项目总资源配额(namespaceQuota)*',
      lang_form_env_k8s_quota_config_namespace_quota_tip_1: '整个项目名字空间下所有容器总共可以使用的资源配额总和，超过该资源配额设置容器将无法启动',
      lang_form_env_k8s_quota_config_namespace_quota_memory_request: '请求memory资源总和(memoryRequest)*',
      lang_form_env_k8s_quota_config_namespace_quota_memory_request_tip_1: 'Ti、Gi、Mi、Ki分别表示T、G、M、K的内存。格式例如：10Ti、10Gi、10Mi、10Ki',
      lang_form_env_k8s_quota_config_namespace_quota_memory_limit: '最大memory配额总和(memoryLimit)*',
      lang_form_env_k8s_quota_config_namespace_quota_memory_limit_tip_1: 'Ti、Gi、Mi、Ki分别表示T、G、M、K的内存。格式例如：10Ti、10Gi、10Mi、10Ki',
      lang_form_env_k8s_quota_config_namespace_quota_cpu_request: '请求cpu资源总和(cpuRequest)*',
      lang_form_env_k8s_quota_config_namespace_quota_cpu_request_tip_1: '1表示一个vCPU，0.1 或者 100m表示0.1个vCPU。格式例如：1、0.1、100m',
      lang_form_env_k8s_quota_config_namespace_quota_cpu_limit: '最大cpu配额总和(cpuLimit)*',
      lang_form_env_k8s_quota_config_namespace_quota_cpu_limit_tip_1: '1表示一个vCPU，0.1 或者 100m表示0.1个vCPU。格式例如：1、0.1、100m',
      lang_form_env_k8s_quota_config_namespace_quota_pods_limit: 'pods数量配额总和(podsLimit)*',
      lang_form_env_k8s_quota_config_namespace_quota_pods_limit_tip_1: '最多允许在项目名字空间下运行多少个容器',
      lang_form_env_k8s_quota_config_default_quota: '容器默认资源配额(defaultQuota)*',
      lang_form_env_k8s_quota_config_default_quota_tip_1: '如果容器部署模块没有设置每个容器的资源配额，那么将会使用该设置作为每个容器的默认资源配额设置',
      lang_form_env_k8s_quota_config_default_quota_memory_request: '默认请求memory资源(memoryRequest)*',
      lang_form_env_k8s_quota_config_default_quota_memory_request_tip_1: 'Ti、Gi、Mi、Ki分别表示T、G、M、K的内存。格式例如：10Ti、10Gi、10Mi、10Ki',
      lang_form_env_k8s_quota_config_default_quota_memory_limit: '默认最大memory配额(memoryLimit)*',
      lang_form_env_k8s_quota_config_default_quota_memory_limit_tip_1: 'Ti、Gi、Mi、Ki分别表示T、G、M、K的内存。格式例如：10Ti、10Gi、10Mi、10Ki',
      lang_form_env_k8s_quota_config_default_quota_cpu_request: '默认请求cpu资源(cpuRequest)*',
      lang_form_env_k8s_quota_config_default_quota_cpu_request_tip_1: '1表示一个vCPU，0.1 或者 100m表示0.1个vCPU。格式例如：1、0.1、100m',
      lang_form_env_k8s_quota_config_default_quota_cpu_limit: '默认最大cpu配额(cpuLimit)*',
      lang_form_env_k8s_quota_config_default_quota_cpu_limit_tip_1: '1表示一个vCPU，0.1 或者 100m表示0.1个vCPU。格式例如：1、0.1、100m',
      lang_form_new_env: '新增kubernetes环境配置',
      lang_form_new_env_prompt: '新增kubernetes环境配置后，配置项目流水线，即可发布应用到该环境。请保证dory能够访问新增的kubernetes环境的apiserver，并且保证新增的kubernetes环境能够从镜像仓库拉取镜像。请使用dorycli install check命令检查kubernetes环境设置要求',
      lang_form_update_env: '修改kubernetes环境配置',
      lang_form_update_env_prompt: '修改kubernetes环境配置后，配置项目流水线，即可发布应用到该环境。请保证dory能够访问新增的kubernetes环境的apiserver，并且保证新增的kubernetes环境能够从镜像仓库拉取镜像',
      lang_form_delete_env: '删除kubernetes环境配置',
      lang_form_delete_env_prompt: '删除kubernetes环境配置后，将无法通过流水线发布应用到该环境',
      lang_form_delete_env_name: '环境(envName)*',
      lang_form_delete_env_name_tip_1: '确认要删除 {0} 环境吗？',
      lang_form_pv_pv_name: '持久化卷名称(pvName)*',
      lang_form_pv_pv_name_tip_1: '必须以-pv结尾，格式例如：test-project1-local-pv',
      lang_form_pv_read_only: '是否只读(readOnly)*',
      lang_form_pv_read_only_tip_1: '是否以只读的模式挂装持久化卷，设置为只读情况下将无法在持久化卷中写入数据',
      lang_form_pv_type: '选择持久化卷类型*',
      lang_form_pv_host_path: '本地持久化存储设置(hostPath)',
      lang_form_pv_host_path_tip_1: '假如持久化存储使用本地存储情况下请设置',
      lang_form_pv_host_path_path: '本地存储绝对路径(path)*',
      lang_form_pv_cephfs: 'cephfs持久化存储设置(cephfs)',
      lang_form_pv_cephfs_tip_1: '假如持久化存储使用cephfs情况下请设置',
      lang_form_pv_cephfs_user: 'cephfs连接账号(user)*',
      lang_form_pv_cephfs_keyring: 'cephfs连接秘钥(keyring)*',
      lang_form_pv_cephfs_monitors: 'cephfs所有monitor地址与端口(monitors)*',
      lang_form_pv_cephfs_monitors_tip_1: '请输入所有monitor的地址和端口，每个输入后请按回车，格式例如: 192.168.0.1:6789',
      lang_form_pv_cephfs_path: 'cephfs中的存储路径(path)*',
      lang_form_pv_cephfs_path_tip_1: '必须以/开头的绝对路径',
      lang_form_pv_rbd: 'rbd持久化存储设置(rbd)',
      lang_form_pv_rbd_tip_1: '假如持久化存储使用rbd情况下请设置',
      lang_form_pv_rbd_user: 'rbd连接账号(user)*',
      lang_form_pv_rbd_keyring: 'rbd连接秘钥(keyring)*',
      lang_form_pv_rbd_monitors: 'rbd所有monitor地址与端口(monitors)*',
      lang_form_pv_rbd_monitors_tip_1: '请输入所有monitor的地址和端口，每个输入后请按回车，格式例如: 192.168.0.1:6789',
      lang_form_pv_rbd_pool: 'rbd的pool名称(pool)*',
      lang_form_pv_rbd_image: 'rbd的镜像名称(image)*',
      lang_form_pv_rbd_fs_type: 'rbd映射的文件系统类型(fsType)*',
      lang_form_pv_nfs: 'nfs持久化存储设置(nfs)',
      lang_form_pv_nfs_tip_1: '假如持久化存储使用nfs情况下请设置',
      lang_form_pv_nfs_server: 'nfs服务器地址(server)*',
      lang_form_pv_nfs_server_tip_1: '格式例如：192.168.0.1',
      lang_form_pv_nfs_path: 'nfs中的存储路径(path)*',
      lang_form_pv_nfs_path_tip_1: '必须以/开头的绝对路径',
      lang_form_pv_glusterfs: 'glusterfs持久化存储设置(glusterfs)',
      lang_form_pv_glusterfs_tip_1: '假如持久化存储使用glusterfs情况下请设置',
      lang_form_pv_glusterfs_endpoint_ips: 'glusterfs端点IP地址(endpointIPs)*',
      lang_form_pv_glusterfs_endpoint_ips_tip_1: '请输入所有glusterfs的端点IP地址，每个输入后请按回车，格式例如: 192.168.0.1',
      lang_form_pv_glusterfs_endpoint_port: 'glusterfs的端点访问端口(endpointPort)*',
      lang_form_pv_glusterfs_path: '挂装glusterfs中的卷路径(path)*',
      lang_form_pv_glusterfs_path_tip_1: '例如: glusterfs_vol',
      lang_form_new_pv: '在 {0} 环境新增持久化卷',
      lang_form_new_pv_prompt: '在kubernetes环境下新增持久化卷(pv)，新增持久化卷(pv)后可以配置项目挂装该持久化卷(pv)',
      lang_form_delete_pv: '在 {0} 环境删除持久化卷 {1}',
      lang_form_delete_pv_prompt: '在kubernetes环境下删除持久化卷(pv)，请保证该持久化卷没有挂装到任何项目容器',
      lang_form_delete_pv_pv_name: '持久化卷名称(pvName)*',
      lang_form_delete_pv_pv_name_tip_1: '确认要删除持久化卷 {0} 吗？',
      lang_form_new_tenant: '新增租户',
      lang_form_new_tenant_prompt: '开通租户之后，可以为租户设置租户管理员。租户管理员可以开通自己的项目，并把项目部署到自己私有的环境；也可以开通相关用户账号等',
      lang_form_update_tenant: '修改租户({0})',
      lang_form_update_tenant_prompt: '调整租户的权限配置',
      lang_form_delete_tenant: '删除租户({0})',
      lang_form_delete_tenant_prompt: '注意，假如租户下有项目，则不能删除租户',
      lang_form_delete_tenant_code: '租户编码(tenantCode)*',
      lang_form_delete_tenant_code_tip_1: '确认要删除 {0} 租户吗？',
      lang_form_tenant_code: '租户编码(tenantCode)',
      lang_form_tenant_code_tip_1: '一旦设置则只有该租户才能使用该资源',
      lang_form_is_from_file_prompt: '注意: 该配置项是通过读取配置文件的方式创建，当重新加载配置的时候，你所修改的信息将会被重置',
      lang_form_tenant_tenant_code: '租户编码(tenantCode)*',
      lang_form_tenant_tenant_code_tip_1: '租户的唯一标识，格式例如: test-tenant01',
      lang_form_tenant_mesh_available: '是否允许启用服务网格(meshAvailable)*',
      lang_form_tenant_mesh_available_tip_1: '是否允许流水线执行应用服务网格步骤',
      lang_form_tenant_project_number: '允许开通的项目数量(projectNumber)',
      lang_form_tenant_project_number_tip_1: '限制该租户总共可以开通多少个项目，设置为0表示不限制',
      lang_form_tenant_build_def_number: '允许设置的模块构建定义数量(buildDefNumber)',
      lang_form_tenant_build_def_number_tip_1: '限制该租户总共可以设置多少个模块构建定义，设置为0表示不限制',
      lang_form_tenant_env_number: '允许设置的环境数量(envNumber)',
      lang_form_tenant_env_number_tip_1: '限制该租户总共可以设置多少个环境，设置为0表示不限制',
      lang_form_tenant_git_repo_number: '允许设置的代码仓库数量(gitRepoNumber)',
      lang_form_tenant_git_repo_number_tip_1: '限制该租户总共可以设置多少个代码仓库，设置为0表示不限制',
      lang_form_tenant_image_repo_number: '允许设置的镜像仓库数量(imageRepoNumber)',
      lang_form_tenant_image_repo_number_tip_1: '限制该租户总共可以设置多少个镜像仓库，设置为0表示不限制',
      lang_form_tenant_artifact_repo_number: '允许设置的依赖与制品仓库数量(artifactRepoNumber)',
      lang_form_tenant_artifact_repo_number_tip_1: '限制该租户总共可以设置多少个依赖与制品仓库，设置为0表示不限制',
      lang_form_tenant_scan_code_repo_number: '允许设置的代码扫描仓库数量(scanCodeRepoNumber)',
      lang_form_tenant_scan_code_repo_number_tip_1: '限制该租户总共可以设置多少个代码扫描仓库，设置为0表示不限制',
      lang_form_tenant_env_default_enable: '是否允许使用全局环境(envDefaultEnable)',
      lang_form_tenant_env_default_enable_tip_1: '假如设置为否，那么该租户只能够连接自己设置的环境',
      lang_form_tenant_git_repo_default_enable: '是否允许使用全局代码仓库(gitRepoDefaultEnable)',
      lang_form_tenant_git_repo_default_enable_tip_1: '假如设置为否，那么该租户只能够连接自己设置的代码仓库',
      lang_form_tenant_image_repo_default_enable: '是否允许使用全局镜像仓库(imageRepoDefaultEnable)',
      lang_form_tenant_image_repo_default_enable_tip_1: '假如设置为否，那么该租户只能够连接自己设置的镜像仓库',
      lang_form_tenant_artifact_repo_default_enable: '是否允许使用全局依赖与制品仓库(artifactRepoDefaultEnable)',
      lang_form_tenant_artifact_repo_default_enable_tip_1: '假如设置为否，那么该租户只能够连接自己设置的依赖与制品仓库',
      lang_form_tenant_scan_code_repo_default_enable: '是否允许使用全局代码扫描仓库(scanCodeRepoDefaultEnable)',
      lang_form_tenant_scan_code_repo_default_enable_tip_1: '假如设置为否，那么该租户只能够连接自己设置的代码扫描仓库',
      lang_form_tenant_custom_step_default_enable: '是否允许使用全局自定义步骤(customStepDefaultEnable)',
      lang_form_tenant_custom_step_default_enable_tip_1: '假如设置为否，那么该租户只能够使用自己设置的自定义步骤',
      lang_form_tenant_component_template_default_enable: '是否允许使用全局组件模板(componentTemplateDefaultEnable)',
      lang_form_tenant_component_template_default_enable_tip_1: '假如设置为否，那么该租户只能够使用自己设置的组件模板',
      lang_form_tenant_expires_days: '有效期(expiresDays)*',
      lang_form_tenant_expires_days_tip_1: '表示多少天后过期，一旦过期，租户下的所有项目将无法执行流水线',
      lang_form_tenant_expires_days_tip_2: '设置为0表示不限制过期时间',
      lang_form_tenant_expires_days_tip_3: '设置为-1表示不修改过期时间',
      lang_form_tenant_is_active: '是否激活有效状态(isActive)',
      lang_form_tenant_is_active_tip_1: '假如设置为否，租户下的所有项目将无法执行流水线',
      lang_form_new_docker_build_env: '新增构建环境',
      lang_form_new_docker_build_env_prompt: '支持用户自行定义自己的构建环境，构建环境基于容器，需要先把构建环境的容器镜像推送到默认镜像仓库中',
      lang_form_update_docker_build_env: '修改构建环境配置 ({0})',
      lang_form_update_docker_build_env_prompt: '调整构建环境配置',
      lang_form_delete_docker_build_env: '删除构建环境 ({0})',
      lang_form_delete_docker_build_env_prompt: '删除后将无法使用该构建环境进行源代码的编译构建',
      lang_form_delete_docker_build_env_build_env_name: '构建环境名称(buildEnvName)*',
      lang_form_delete_docker_build_env_build_env_name_tip_1: '确认要删除 {0} 构建环境吗？',
      lang_form_docker_build_env_build_env_name: '构建环境名称(buildEnvName)*',
      lang_form_docker_build_env_build_env_name_tip_1: '构建环境唯一标识，格式例如: python-3.10',
      lang_form_docker_build_env_image: '构建环境容器镜像(image)*',
      lang_form_docker_build_env_image_tip_1: '构建环境容器镜像的完整路径，请保证容器镜像能够使用uid为{0}的用户执行命令，该uid用户的$HOME目录为{1}',
      lang_form_docker_build_env_image_tip_2: '当cpu架构为amd64的时候的镜像名字',
      lang_form_docker_build_env_image_tip_3: '格式例如: harbor.example.com/public/maven:3.8.5-openjdk-17-dory',
      lang_form_docker_build_env_build_arches: '构建环境支持哪些cpu架构(buildArches)*',
      lang_form_docker_build_env_build_arches_tip_1: '假如cpu架构不为amd64，构建环境的容器镜像名为 <image>-<cpu架构名字>',
      lang_form_docker_build_env_build_arches_tip_2: '例如cpu架构为arm64v8，那么实际构建环境的image名字为 harbor.example.com/public/maven:3.8.5-openjdk-17-dory-arm64v8',
      lang_form_docker_build_env_registry_username: '镜像仓库账号(registryUsername)',
      lang_form_docker_build_env_registry_username_tip_1: '假如构建环境的容器镜像需要账号密码才能拉取，则需要提供，否则不要填写',
      lang_form_docker_build_env_registry_password: '镜像仓库密码(registryPassword)',
      lang_form_docker_build_env_registry_password_tip_1: '假如构建环境的容器镜像需要账号密码才能拉取，则需要提供，否则不要填写',
      lang_form_docker_build_env_mount_home_dir: '是否挂装HOME目录(mountHomeDir)',
      lang_form_docker_build_env_mount_home_dir_tip_1: '是否把caches目录装载到容器的$HOME目录',
      lang_form_docker_build_env_enable_proxy: '是否启用代理服务器(enableProxy)',
      lang_form_docker_build_env_enable_proxy_tip_1: '是否启用外部代理服务器拉取构建依赖',
      lang_form_docker_build_env_mount_extra_cache_dirs: '挂装格外的缓存目录(mountExtraCacheDirs)',
      lang_form_docker_build_env_mount_extra_cache_dirs_tip_1: 'mount构建容器中非$HOME目录以及工作目录之外的构建依赖缓存目录',
      lang_form_docker_build_env_mount_extra_cache_dirs_tip_2: '例如go语言，需要装载容器中的/go/pkg作为缓存',
      lang_form_docker_build_env_mount_extra_cache_dirs_tip_3: '回车输入多个',
      lang_form_docker_build_env_mount_extra_cache_dirs_tip_4: '目录必须使用绝对路径，以/开头',
      lang_form_docker_build_env_commands_before_build: '执行构建命令前执行什么命令(commandsBeforeBuild)',
      lang_form_docker_build_env_commands_before_build_tip_1: '请使用回车分隔多个命令，同一行多个命令情况下可以使用 && 连接多个命令',
      lang_form_docker_build_env_commands_after_check: '执行检查命令后执行什么命令(commandsAfterCheck)',
      lang_form_docker_build_env_commands_after_check_tip_1: '请使用回车分隔多个命令，同一行多个命令情况下可以使用 && 连接多个命令',
      lang_form_new_git_repo_config: '新增代码仓库',
      lang_form_new_git_repo_config_prompt: '支持用户自行定义自己的代码仓库，流水线将会从代码仓库中拉取项目源代码',
      lang_form_update_git_repo_config: '修改代码仓库配置 ({0})',
      lang_form_update_git_repo_config_prompt: '调整代码仓库配置',
      lang_form_delete_git_repo_config: '删除代码仓库 ({0})',
      lang_form_delete_git_repo_config_prompt: '删除后将无法从该代码仓库拉取代码',
      lang_form_delete_git_repo_config_repo_name: '代码仓库名称(repoName)*',
      lang_form_delete_git_repo_config_repo_name_tip_1: '确认要删除 {0} 代码仓库吗？',
      lang_form_git_repo_config_kind: '代码仓库类型(kind)*',
      lang_form_git_repo_config_repo_name: '代码仓库名字标识(repoName)*',
      lang_form_git_repo_config_repo_name_tip_1: '格式例如: gitea-dory',
      lang_form_git_repo_config_view_url: '代码仓库浏览器查看url(viewUrl)*',
      lang_form_git_repo_config_view_url_tip_1: '格式例如: http://example.com:30001',
      lang_form_git_repo_config_url: '代码仓库的地址(url)*',
      lang_form_git_repo_config_url_tip_1: 'dory访问该仓库的地址',
      lang_form_git_repo_config_url_tip_2: '格式例如: http://gitea:3000',
      lang_form_git_repo_config_insecure: '是否开启insecure模式(insecure)',
      lang_form_git_repo_config_insecure_tip_1: '假如服务端为https，并且使用自签名的tls证书，那么请设置本选项为true',
      lang_form_git_repo_config_username: '代码仓库管理员账号(username)*',
      lang_form_git_repo_config_name: '代码仓库管理员显示名(name)*',
      lang_form_git_repo_config_mail: '代码仓库管理员email(mail)*',
      lang_form_git_repo_config_mail_tip_1: '格式例如: admin@example.com',
      lang_form_git_repo_config_password: '代码仓库管理员密码(password)*',
      lang_form_git_repo_config_token: '代码仓库管理员token(token)*',
      lang_form_new_image_repo_config: '新增镜像仓库',
      lang_form_new_image_repo_config_prompt: '支持用户自行定义自己的镜像仓库，流水线将会把打包的容器镜像推送到镜像仓库中',
      lang_form_update_image_repo_config: '修改镜像仓库配置 ({0})',
      lang_form_update_image_repo_config_prompt: '调整镜像仓库配置',
      lang_form_delete_image_repo_config: '删除镜像仓库 ({0})',
      lang_form_delete_image_repo_config_prompt: '删除后将无法推送容器镜像到该镜像仓库',
      lang_form_delete_image_repo_config_repo_name: '镜像仓库名称(repoName)*',
      lang_form_delete_image_repo_config_repo_name_tip_1: '确认要删除 {0} 镜像仓库吗？',
      lang_form_image_repo_config_kind: '镜像仓库类型(kind)*',
      lang_form_image_repo_config_repo_name: '镜像仓库名字标识(repoName)*',
      lang_form_image_repo_config_repo_name_tip_1: '格式例如: harbor-dory',
      lang_form_image_repo_config_hostname: '镜像仓库的域名(hostname)*',
      lang_form_image_repo_config_hostname_tip_1: '目前只支持 https://<hostname> 方式访问镜像仓库',
      lang_form_image_repo_config_hostname_tip_2: '格式例如: example.com',
      lang_form_image_repo_config_insecure: '是否开启insecure模式(insecure)',
      lang_form_image_repo_config_insecure_tip_1: '假如服务端为https，并且使用自签名的tls证书，那么请设置本选项为true',
      lang_form_image_repo_config_username: '镜像仓库管理员账号(username)*',
      lang_form_image_repo_config_password: '镜像仓库管理员密码(password)*',
      lang_form_image_repo_config_ip_internal: '内部访问的IP地址(ipInternal)*',
      lang_form_image_repo_config_ip_internal_tip_1: '镜像仓库的内部IP地址，格式例如: 192.168.0.1',
      lang_form_image_repo_config_ip_external: '外部访问的IP地址(ipExternal)*',
      lang_form_image_repo_config_ip_external_tip_1: '外部网络访问镜像仓库的外部IP地址，格式例如: 192.168.0.1',
      lang_form_new_artifact_repo_config: '新增依赖与制品仓库',
      lang_form_new_artifact_repo_config_prompt: '支持用户自行定义自己的依赖与制品仓库，流水线将会从依赖与制品仓库中拉取依赖进行编译构建，并把制品上传到依赖与制品仓库中',
      lang_form_update_artifact_repo_config: '修改依赖与制品仓库配置 ({0})',
      lang_form_update_artifact_repo_config_prompt: '调整依赖与制品仓库配置',
      lang_form_delete_artifact_repo_config: '删除依赖与制品仓库 ({0})',
      lang_form_delete_artifact_repo_config_prompt: '删除后将无法从该依赖与制品仓库中拉取依赖，也无法并把制品上传到该依赖与制品仓库中',
      lang_form_delete_artifact_repo_config_repo_name: '依赖与制品仓库名称(repoName)*',
      lang_form_delete_artifact_repo_config_repo_name_tip_1: '确认要删除 {0} 依赖与制品仓库吗？',
      lang_form_artifact_repo_config_kind: '依赖与制品仓库类型(kind)*',
      lang_form_artifact_repo_config_repo_name: '依赖与制品仓库名字标识(repoName)*',
      lang_form_artifact_repo_config_repo_name_tip_1: '格式例如: nexus-dory',
      lang_form_artifact_repo_config_view_url: '依赖与制品仓库浏览器查看url(viewUrl)*',
      lang_form_artifact_repo_config_view_url_tip_1: '格式例如: http://example.com:30003',
      lang_form_artifact_repo_config_schema_internal: '内部访问的schema(schemaInternal)*',
      lang_form_artifact_repo_config_schema_external: '外部访问的schema(schemaExternal)*',
      lang_form_artifact_repo_config_schema_external_tip_1: '假如只有唯一的schema，那么schemaExternal和schemaInternal设置为一样即可',
      lang_form_artifact_repo_config_hostname_internal: '内部访问的主机名或者IP地址(hostnameInternal)*',
      lang_form_artifact_repo_config_hostname_internal_tip_1: '格式例如: 192.168.0.1',
      lang_form_artifact_repo_config_hostname_external: '外部访问的主机名或者IP地址(hostnameExternal)*',
      lang_form_artifact_repo_config_hostname_external_tip_1: '假如只有唯一的主机名或者IP地址，那么hostnameExternal和hostnameInternal设置为一样即可',
      lang_form_artifact_repo_config_hostname_external_tip_2: '格式例如: 192.168.0.1',
      lang_form_artifact_repo_config_insecure: '是否开启insecure模式(insecure)*',
      lang_form_artifact_repo_config_insecure_tip_1: '假如服务端为https，并且使用自签名的tls证书，那么请设置本选项为true',
      lang_form_artifact_repo_config_username: '制品仓库管理员账号(username)*',
      lang_form_artifact_repo_config_username_tip_1: '格式例如: admin',
      lang_form_artifact_repo_config_password: '制品仓库管理员密码(password)*',
      lang_form_artifact_repo_config_public_role: '制品仓库public role名称(publicRole)',
      lang_form_artifact_repo_config_public_role_tip_1: '格式例如: public-role',
      lang_form_artifact_repo_config_public_user: '拉取第三方开源依赖的公用账号名称(publicUser)',
      lang_form_artifact_repo_config_public_user_tip_1: '格式例如: public-user',
      lang_form_artifact_repo_config_public_password: '拉取第三方开源依赖的公用账号密码(publicPassword)',
      lang_form_artifact_repo_config_port: '制品仓库服务端口(port)*',
      lang_form_artifact_repo_config_port_docker: 'docker.io镜像仓库代理端口(portDocker)',
      lang_form_artifact_repo_config_port_gcr: 'gcr.io镜像仓库代理端口(portGcr)',
      lang_form_artifact_repo_config_port_quay: 'quay.io镜像仓库代理端口(portQuay)',
      lang_form_artifact_repo_config_proxy_repo: '代理仓库设置，不设置表示不启用代理(proxyRepo)',
      lang_form_artifact_repo_config_proxy_repo_maven: 'maven第三方开源依赖的仓库相对路径(maven)',
      lang_form_artifact_repo_config_proxy_repo_maven_tip_1: '格式例如: repository/maven-group-public/',
      lang_form_artifact_repo_config_proxy_repo_npm: 'npm第三方开源依赖的仓库相对路径(npm)',
      lang_form_artifact_repo_config_proxy_repo_npm_tip_1: '格式例如: repository/npm-group-public/',
      lang_form_artifact_repo_config_proxy_repo_pip: 'pypi第三方开源依赖的仓库相对路径(pip)',
      lang_form_artifact_repo_config_proxy_repo_pip_tip_1: '格式例如: repository/pypi-group-public/simple',
      lang_form_artifact_repo_config_proxy_repo_gradle: 'gradle第三方开源依赖的仓库相对路径(gradle)',
      lang_form_artifact_repo_config_proxy_repo_gradle_tip_1: '格式例如: repository/maven-group-public/',
      lang_form_artifact_repo_config_proxy_repo_go: 'go第三方开源依赖的仓库相对路径(go)',
      lang_form_artifact_repo_config_proxy_repo_go_tip_1: '格式例如: repository/go-group-public',
      lang_form_artifact_repo_config_proxy_repo_apt: 'apt源代理设置(apt)',
      lang_form_artifact_repo_config_proxy_repo_apt_amd64: 'x86 apt代理源(amd64)',
      lang_form_artifact_repo_config_proxy_repo_apt_amd64_tip_1: '格式例如: repository/apt-aliyun-focal/',
      lang_form_artifact_repo_config_proxy_repo_apt_arm64v8: 'arm64v8 apt代理源(arm64v8)',
      lang_form_artifact_repo_config_proxy_repo_apt_arm64v8_tip_1: '格式例如: repository/apt-aliyun-focal-arm64/',
      lang_form_new_scan_code_repo_config: '新增代码扫描仓库',
      lang_form_new_scan_code_repo_config_prompt: '支持用户自行定义自己的代码扫描仓库，流水线将会把代码扫描结果推送到代码扫描仓库中',
      lang_form_update_scan_code_repo_config: '修改代码扫描仓库配置 ({0})',
      lang_form_update_scan_code_repo_config_prompt: '调整代码扫描仓库配置',
      lang_form_delete_scan_code_repo_config: '删除代码扫描仓库 ({0})',
      lang_form_delete_scan_code_repo_config_prompt: '删除后将无法把代码扫描结果推送到该代码扫描仓库中',
      lang_form_delete_scan_code_repo_config_repo_name: '代码扫描仓库名称(repoName)*',
      lang_form_delete_scan_code_repo_config_repo_name_tip_1: '确认要删除 {0} 代码扫描仓库吗？',
      lang_form_scan_code_repo_config_kind: '代码扫描仓库类型(kind)*',
      lang_form_scan_code_repo_config_repo_name: '代码扫描仓库名字标识(repoName)*',
      lang_form_scan_code_repo_config_repo_name_tip_1: '格式例如: 格式例如: sonarqube-dory',
      lang_form_scan_code_repo_config_view_url: '代码扫描仓库外部查看url(viewUrl)*',
      lang_form_scan_code_repo_config_view_url_tip_1: '格式例如: http://example.com:30008',
      lang_form_scan_code_repo_config_url: '代码扫描仓库地址(url)*',
      lang_form_scan_code_repo_config_url_tip_1: 'dory访问该仓库的地址',
      lang_form_scan_code_repo_config_url_tip_2: '格式例如: http://192.168.0.1:30008',
      lang_form_scan_code_repo_config_insecure: '是否开启insecure模式(insecure)',
      lang_form_scan_code_repo_config_insecure_tip_1: '假如服务端为https，并且使用自签名的tls证书，那么请设置本选项为true',
      lang_form_scan_code_repo_config_token: '代码扫描仓库管理员token(token)*',
      lang_form_custom_step_conf_pipeline_variables_tip_1: '支持使用流水线变量，变量使用方式参见流水线变量说明',
      lang_form_custom_step_conf_pipeline_variables_tip_2: '支持使用paramInputYamlDef的输入参数变量，变量使用方式参见流水线变量说明',
      lang_form_custom_step_conf_custom_step_name: '自定义步骤名称(customStepName)*',
      lang_form_custom_step_conf_custom_step_name_tip_1: '自定义步骤的英文标识名称，格式例如: buildIosApp',
      lang_form_custom_step_conf_custom_step_action_desc: '自定义步骤英文描述(customStepActionDesc)*',
      lang_form_custom_step_conf_custom_step_action_desc_tip_1: '用于自动生成自定义步骤的阶段、环节、步骤的英文描述，格式例如: build ios app',
      lang_form_custom_step_conf_custom_step_action_desc_tip_2: '以上例子生成的阶段说明效果为: build ios app in test-env',
      lang_form_custom_step_conf_custom_step_action_desc_tip_3: '以上例子生成的环节、步骤说明效果为: build ios app dory-engine in test-env',
      lang_form_custom_step_conf_custom_step_desc: '自定义步骤说明(customStepDesc)*',
      lang_form_custom_step_conf_custom_step_desc_tip_1: 'ops流水线操作类型选择的时候显示的步骤操作类型信息',
      lang_form_custom_step_conf_custom_step_desc_tip_2: '可以使用中文，格式例如: 在远程macOS主机编译ios应用',
      lang_form_custom_step_conf_custom_step_usage: '自定义步骤的使用说明(customStepUsage)*',
      lang_form_custom_step_conf_custom_step_usage_tip_1: '告诉自定义步骤的使用者如何设置才能使用本步骤的简要使用说明',
      lang_form_custom_step_conf_git_repo: '自定义脚本所在代码仓库设置(gitRepo)',
      lang_form_custom_step_conf_git_repo_tip_1: '免费试用版不支持',
      lang_form_custom_step_conf_git_repo_name: '选择代码仓库(gitRepoName)',
      lang_form_custom_step_conf_git_repo_name_tip_1: '请选择自定义步骤脚本在哪个代码仓库，自动从该代码仓库拉取自定义步骤的脚本代码到自定义步骤的执行容器中的 /customSteps 目录。为空表示无需拉取自定义步骤脚本代码',
      lang_form_custom_step_conf_git_repo_path: '代码仓库路径(gitRepoPath)',
      lang_form_custom_step_conf_git_repo_path_tip_1: '自定义步骤脚本代码仓库的项目路径，例如: project_group/project_name',
      lang_form_custom_step_conf_git_repo_branch: '分支名称(gitRepoBranch)',
      lang_form_custom_step_conf_git_repo_branch_tip_1: '自定义步骤脚本代码仓库所在的分支名称，例如: master',
      lang_form_custom_step_conf_is_env_diff: '是否不同环境需要不同自定义步骤配置(isEnvDiff)*',
      lang_form_custom_step_conf_is_env_diff_tip_1: '假如项目需要针对不同环境需要设置不同的自定义步骤配置，那么请设置为是',
      lang_form_custom_step_conf_is_env_diff_tip_2: '设置为是之后，必须每个环境独立设置自定义步骤配置',
      lang_form_custom_step_conf_custom_step_docker_conf: '自定义步骤执行容器设置(customStepDockerConf)*',
      lang_form_custom_step_conf_custom_step_docker_conf_tip_1: '所有自定义步骤都是在执行器executor中以容器的方式执行，以下设置为自定义步骤的执行容器启动和运行参数配置',
      lang_form_custom_step_conf_docker_image: '自定义步骤执行容器镜像(dockerImage)*',
      lang_form_custom_step_conf_docker_image_tip_1: '请提供容器镜像的完整路径，如果不使用root来执行命令，请保证容器镜像能够使用uid为{0}的用户执行命令',
      lang_form_custom_step_conf_registry_username: '镜像仓库账号(registryUsername)',
      lang_form_custom_step_conf_registry_username_tip_1: '假如容器镜像需要账号密码才能拉取，则需要提供，否则不要填写',
      lang_form_custom_step_conf_registry_password: '镜像仓库密码(registryPassword)',
      lang_form_custom_step_conf_registry_password_tip_1: '假如容器镜像需要账号密码才能拉取，则需要提供，否则不要填写',      
      lang_form_custom_step_conf_docker_commands: '自定义步骤执行容器的执行命令(dockerCommands)',
      lang_form_custom_step_conf_docker_commands_tip_1: '进入执行容器的时候，使用什么命令来执行该自定义步骤',
      lang_form_custom_step_conf_docker_commands_tip_2: '支持使用 k8sHost 变量(k8s环境的apiserver主机地址)',
      lang_form_custom_step_conf_docker_commands_tip_3: '支持使用 k8sPort 变量(k8s环境的apiserver端口)',
      lang_form_custom_step_conf_docker_commands_tip_4: '支持使用 k8sProjectToken 变量(k8s环境的项目权限accessToken)',
      lang_form_custom_step_conf_docker_commands_tip_5: '支持使用 k8sAdminToken 变量(k8s环境的管理员权限accessToken)',
      lang_form_custom_step_conf_docker_commands_tip_6: '变量使用方式参见流水线变量说明',
      lang_form_custom_step_conf_docker_run_as_root: '是否使用root作为执行用户(dockerRunAsRoot)',
      lang_form_custom_step_conf_docker_run_as_root_tip_1: '假如不是以root作为执行用户，那么执行用户的uid为{0}，请注意容器的执行用户权限',
      lang_form_custom_step_conf_docker_show_commands: '是否显示docker命令(dockerShowCommands)',
      lang_form_custom_step_conf_docker_volumes: '容器挂装卷设置(dockerVolumes)',
      lang_form_custom_step_conf_docker_volumes_tip_1: '代码仓库的相对路径挂装到容器中的哪个目录',
      lang_form_custom_step_conf_docker_volumes_tip_2: '如果不设置，默认把代码仓库的根目录挂装到容器中的/<projectName> 目录',
      lang_form_custom_step_conf_docker_volumes_local_path: '代码仓库的相对路径(localPath)*',
      lang_form_custom_step_conf_docker_volumes_local_path_tip_1: '路径不能以/开头',
      lang_form_custom_step_conf_docker_volumes_docker_path: '容器中的挂装点路径(dockerPath)*',
      lang_form_custom_step_conf_docker_volumes_docker_path_tip_1: '路径必须以/开头',
      lang_form_custom_step_conf_docker_envs: '容器环境变量设置(dockerEnvs)',
      lang_form_custom_step_conf_docker_envs_tip_1: '容器启动时的环境变量设置',
      lang_form_custom_step_conf_docker_envs_name: '变量名',
      lang_form_custom_step_conf_docker_envs_value: '变量值',
      lang_form_custom_step_conf_docker_work_dir: '容器的工作目录(dockerWorkDir)',
      lang_form_custom_step_conf_docker_work_dir_tip_1: '请填写容器中的绝对路径，必须以/开头',
      lang_form_custom_step_conf_param_input_yaml_def: '自定义步骤输入参数格式定义(paramInputYamlDef)',
      lang_form_custom_step_conf_param_input_yaml_def_tip_1: '自定义步骤的输入参数设置以及参数说明信息，使用YAML格式',
      lang_form_custom_step_conf_param_input_yaml_def_tip_2: '项目在设置自定义步骤模块的时候，可以设置该模块特定的步骤执行参数',
      lang_form_custom_step_conf_param_input_yaml_def_tip_3: '该输入参数将会以文件的形式挂装到步骤执行容器的{0}.json或者.yaml文件，步骤执行容器可以读取该输入参数，进行相应的步骤处理',
      lang_form_custom_step_conf_param_input_yaml_def_tip_4: '必须输入完整的输入参数例子',
      lang_form_custom_step_conf_param_input_yaml_def_tip_5: '完整例子如下：',
      lang_form_custom_step_conf_param_input_yaml_def_tip_6: '# 构建路径，代码所在的相对路径（必填）',
      lang_form_custom_step_conf_param_input_yaml_def_tip_7: 'buildPath: Codes/test-ios-app/src',
      lang_form_custom_step_conf_param_input_yaml_def_tip_8: '# 命令启动参数（选填）',
      lang_form_custom_step_conf_param_input_yaml_def_tip_9: 'buildArgs: --ignore-test',
      lang_form_custom_step_conf_param_output_yaml_def: '自定义步骤输出参数格式定义(paramOutputYamlDef)',
      lang_form_custom_step_conf_param_output_yaml_def_tip_1: '自定义步骤在docker容器中执行完成之后，如果需要把执行结果写入到步骤执行记录中，那么请设置本参数',
      lang_form_custom_step_conf_param_output_yaml_def_tip_2: '该输出参数自动写到步骤执行容器的{0}.json或者.yaml文件中，流水线会读取该输出参数文件，并写入到步骤执行记录中',
      lang_form_custom_step_conf_param_output_yaml_def_tip_3: '必须输入完整的输出参数例子',
      lang_form_custom_step_conf_param_output_yaml_def_tip_4: '注意，输出参数在容器启动的时候会自动生成空文件，请以追加方式写入该文件，完整例子如下：',
      lang_form_custom_step_conf_param_output_yaml_def_tip_5: '# 步骤执行结果，假如设置为true表示虽然步骤的命令执行正常，但是也设置该步骤为执行失败，不填写表示false（内置参数）',
      lang_form_custom_step_conf_param_output_yaml_def_tip_6: 'doryStepFail: false',
      lang_form_custom_step_conf_param_output_yaml_def_tip_7: '# 需要在步骤详情的输出文件中显示的文件名，该文件位于容器的{0}目录下，填写该目录下的文件名（内置参数）',
      lang_form_custom_step_conf_param_output_yaml_def_tip_8: 'doryOutputFiles: ["output.txt", "access.log"]',
      lang_form_custom_step_conf_param_output_yaml_def_tip_9: '# 构建结果文件名（自定义参数）',
      lang_form_custom_step_conf_param_output_yaml_def_tip_10: 'buildResult: test-ios-app.ipa',
      lang_form_custom_step_conf_param_output_yaml_def_tip_11: '# 构建结果大小（自定义参数）',
      lang_form_custom_step_conf_param_output_yaml_def_tip_12: 'buildFileSize: 10M',
      lang_form_custom_step_conf_param_input_format: '步骤输入参数的文件格式(paramInputFormat)*',
      lang_form_custom_step_conf_param_input_format_tip_1: '所有paramInputYamlDef设置的输入参数以及流水线运行时的所有状态参数都会以参数文件的方式挂装到步骤执行容器',
      lang_form_custom_step_conf_param_input_format_tip_2: '输入参数文件自动挂装在步骤执行容器的{0}.json或者.yaml文件中',
      lang_form_custom_step_conf_param_input_format_tip_3: '步骤执行容器读取输入参数文件，作为步骤执行的输入参数',
      lang_form_custom_step_conf_param_input_format_tip_4: '输入参数文件的格式支持两种，yaml或者json',
      lang_form_custom_step_conf_param_output_format: '步骤输出参数的文件格式(paramOutputFormat)*',
      lang_form_custom_step_conf_param_output_format_tip_1: '如果步骤执行结果的内容需要保存到步骤详细记录中，那么请在步骤执行完后，把执行结果文件保存在步骤执行容器的{0}.json或者.yaml文件中',
      lang_form_custom_step_conf_param_output_format_tip_2: '所有paramOutputYamlDef设置的输出参数请保存在该输出参数文件中',
      lang_form_custom_step_conf_param_output_format_tip_3: '步骤执行结束后，流水线会从本目录读取步骤输出参数文件，并写入到步骤详细记录中',
      lang_form_custom_step_conf_param_output_format_tip_4: '输出参数文件的格式支持两种，yaml或者json',
      lang_form_new_custom_step: '新增自定义步骤',
      lang_form_new_custom_step_prompt: '新增自定义步骤后，在项目定义中配置好自定义步骤模块定义，把自定义步骤插入到项目流水线的步骤中，即可通过流水线调用自定义步骤',
      lang_form_update_custom_step: '修改自定义步骤 {0}',
      lang_form_update_custom_step_prompt: '修改自定义步骤 {0}，所有引用该自定义步骤的流水线会自动按照最新的配置执行自定义步骤',
      lang_form_delete_custom_step: '删除自定义步骤 {0}',
      lang_form_delete_custom_step_prompt: '删除自定义步骤，请保证所有项目流水线都没有引用该自定义步骤方可删除',
      lang_form_delete_custom_step_custom_step_name: '自定义步骤名称(customStepName)*',
      lang_form_delete_custom_step_custom_step_name_tip_1: '确认删除自定义步骤 {0} 吗？',
      lang_form_component_template_component_name: '组件模板名字(componentName)',
      lang_form_component_template_component_name_tip_1: '格式例如：mysql-v802',
      lang_form_component_template_component_desc: '组件模板说明(componentDesc)',
      lang_form_component_template_component_desc_tip_1: '格式例如：MYSQL-V802',
      lang_form_new_component_template: '新增组件模板',
      lang_form_new_component_template_prompt: '新增组件模板后，在项目控制台可以使用该模板快速新增组件',
      lang_form_update_component_template: '修改组件模板 {0}',
      lang_form_update_component_template_prompt: '修改组件模板 {0}',
      lang_form_delete_component_template: '删除组件模板 {0}',
      lang_form_delete_component_template_prompt: '删除组件模板 {0}',
      lang_form_delete_component_template_tip_1: '确认删除组件模板 {0} 吗？',
      lang_form_new_access_token: '新增访问token',
      lang_form_new_access_token_prompt: '访问token用于通过后端服务直接调用API接口，调用接口的时候，请求的header中需要提供x-access-token: xxx的header信息',
      lang_form_new_access_token_access_token_name: '访问token名字(accessTokenName)*',
      lang_form_new_access_token_access_token_name_tip_1: '访问token名字，请勿重复，格式例如：devops-20220202',
      lang_form_new_access_token_expire_days: '有效期(expireDays)*',
      lang_form_new_access_token_expire_days_tip_1: '访问token的有效期，单位：天',
      lang_form_change_password: '修改密码',
      lang_form_change_password_old_password: '旧密码(oldPassword)*',
      lang_form_change_password_old_password_tip_1: '请输入旧密码',
      lang_form_change_password_new_password: '新密码(newPassword)*',
      lang_form_change_password_new_password_tip_1: '密码长度不能小于8位，必须包含大小写英文数字和特殊字符',
      lang_form_change_password_confirm_password: '确认密码(confirmPassword)*',
      lang_form_change_password_confirm_password_tip_1: '必须跟新密码保持一致',
      lang_form_edit_profile: '修改资料',
      lang_form_edit_profile_prompt: '修改个人资料信息',
      lang_form_edit_profile_clip_image: '裁剪图片',
      lang_form_free_trial_not_supported: '免费版不支持',
      lang_tip_login_timout: '登录已超时，请重新登录',
      lang_tip_copy_success: '内容成功复制到剪切板',
      lang_tip_copy_failed: '复制失败',
      lang_tip_loading_data: '正在加载数据 ...',
      lang_tip_select_nothing: '没有选择任何东西',
      lang_tip_no_history_records: '没有找到历史记录',
      lang_tip_please_input: '请输入选择内容',
      lang_tip_wait_api_input: '等待接口调用触发继续执行',
      lang_tip_please_select_items_to_copy: '请选择要复制的项目',
      lang_tip_please_check_all_input_is_correct: '请检查所有信息是否填写正确，并且所有必填信息已填',
      lang_tip_please_check_conflict: '已存在冲突的配置项，请勿重复设置',
      lang_tip_please_select_time_range_days_custom: '请选择自定义时间区间',
      lang_tip_format_not_correct: '格式不正确',
      lang_tip_no_data_available: '没有数据',
      lang_tip_confirm_password_new_password_must_be_same: '确认密码必须跟新密码一致',
      lang_tip_login_exception: '登录出现异常',
      lang_tip_reset_mail_sent: '重置密码邮件已经发送到邮箱',
      lang_tip_reset_password_success: '重置密码成功，请重新登陆',
    }
  },
}

const savedLanguage = window.sessionStorage.getItem('lang')
const language = navigator.languages? navigator.languages[0] : (navigator.language || navigator.userLanguage)
// Vue.config.lang = savedLanguage || language
let i18nLocale = savedLanguage || language
if (i18nLocale.split('-')[0] === 'zh') {
  i18nLocale = 'zh'
} else {
  i18nLocale = 'en'
}
if (!savedLanguage) {
  window.sessionStorage.setItem('lang', i18nLocale)
}
// 实例化 vuei18n
const i18n = new VueI18n({
  locale: i18nLocale,
  messages
})

Vue.use(Vuetify, {
  components: {
    VForm,
    VTextField,
    VCol,
    VRow,
    VCardTitle,
    VSimpleTable,
    VDivider,
    VListItemContent,
    VContainer,
    VTabs,
    VTab,
    VTabsItems,
    VTabItem,
    VPagination,
    VStepper,
    VStepperHeader,
    VStepperStep,
    VCard,
    VCardText,
    VList,
    VListItem,
    VBtn,
    VAppBar,
    VToolbarTitle,
    VChip,
    VDataTable,
    VApp,
    VSpacer,
    VMain,
    VNavigationDrawer,
    VDataIterator,
    VMenu,
    VSelect,
    VDialog,
    VCardActions,
    VListItemTitle,
    VIcon,
    VListGroup,
    VAlert,
    VToolbar,
    VSnackbar,
    VExpansionPanels,
    VExpansionPanel,
    VExpansionPanelContent,
    VExpansionPanelHeader,
    VBtnToggle,
    VListItemGroup,
    VListItemIcon,
    VToolbarItems,
    VSlideXReverseTransition,
    VStepperItems,
    VStepperContent,
    VAvatar,
    VDatePicker,
    VListItemAvatar,
    VImg,
    VTooltip,
    VSwitch,
    VFileInput,
    VAutocomplete,
    VTreeview,
    VTextarea,
    VCombobox,
    VSimpleCheckbox,
    VCheckbox,
    VProgressLinear,
    VBreadcrumbs,
    VBreadcrumbsItem,
    VSubheader
  },
  directives: {
    ClickOutside
  }
})
const vuetify = new Vuetify({
  lang: {
    t: (key, ...params) => i18n.t(key, params),
  },
  icons: {
    iconfont: 'mdiSvg'
  }
})
export {vuetify, i18n}
